Да… странно. Может уже поменяли. Ссылку точно брал из кнопки Выйти, только не помню точно с какой страницы — из обычного пользовательского интерфейса или со страницы установки приложения. Там и сейчас отличаются между собой ссылки, но той, которая у меня описана, нет теперь ни там, ни там.
В том-то и весь сыр-бор — я получаю полный доступ, причём через браузер.
Авторизуюсь под пользователем П1 через API.
Разлогин под пользователем П1.
Дальше любые попытки отправить запрос в API или зайти через браузер оканчиваются требованием авторизоваться.
Авторизуемся под пользователем П2 через API.
Заходим в браузер (через который авторизовывались) и получаем полный доступ к аккаунту пользователя П1 (не П2, под которым заходили)! Даже не смотря на то, что авторизовались якобы для использования API и даже могли самые скромные права затребовать для своего приложения.
Но почему тогда при попытке повторного логина через API же я получаю окошко логина? Если у них мухи отдельно от котлет, тогда и куки, по идее, должны быть как-то тоже разделены и не иметь областей взаимодействия. Но область взаимодействия здесь как раз есть — логин осуществляется через браузер и для браузерного просмотра, и для работы с API.
Не претендую на экспертное техническое мнение, но мне кажется, что если я разлогинился, то я не должен иметь доступ к информации аккаунта, тем более чужого. А в приведённом в статье примере я разлогиниваюсь, при запросах к API получаю предложение авторизоваться, но когда авторизуюсь, получаю полный доступ к аккаунту пользователя, который был авторизован до меня. Причём как из своего приложения, так и просто через браузер.
Никаких специальных окошек для обращения за оплатой за баги я не нашёл. В поддержке же (куда я обратился задолго до этой публикации) мне сказали, что это не баг, а фича. Поэтому «умываю руки».
этикет — не этикет, но человек нашёл баг и только благодаря ему его исправили — вот за это по-хорошему и надо было бы платить, а не прятаться за этикет. В следующий раз он найденный баг продаст кому-то, кто готов заплатить — и будет абсолютно прав, потому что ходить кланяться за то, что ты же за разработчиков сделал хороший кусок работы — это неприятно
Авторизуюсь под пользователем П1 через API.
Разлогин под пользователем П1.
Дальше любые попытки отправить запрос в API или зайти через браузер оканчиваются требованием авторизоваться.
Авторизуемся под пользователем П2 через API.
Заходим в браузер (через который авторизовывались) и получаем полный доступ к аккаунту пользователя П1 (не П2, под которым заходили)! Даже не смотря на то, что авторизовались якобы для использования API и даже могли самые скромные права затребовать для своего приложения.
Не претендую на экспертное техническое мнение, но мне кажется, что если я разлогинился, то я не должен иметь доступ к информации аккаунта, тем более чужого. А в приведённом в статье примере я разлогиниваюсь, при запросах к API получаю предложение авторизоваться, но когда авторизуюсь, получаю полный доступ к аккаунту пользователя, который был авторизован до меня. Причём как из своего приложения, так и просто через браузер.