Я использую OAuth в своем веб-приложении, и пользователи могут войти в систему с Твиттером.
Я хочу добавить "кнопку" аккаунта в Твиттере переключателя, которая на самом деле очищает сессию и затем открывает authorize_url.
Поскольку очистка сессии в моем веб-приложении не выходит из Твиттера, authorize_url будет автоматически аутентифицировать текущего пользователя twitter.com. Это означает, что я не могу сделать выхода из системы, если я не отправляю пользователя в twitter.com.
Действительно ли это возможно с API? Что лучший способ состоит в том, чтобы реализовать это?
Сеанс с Twitter определяется файлом cookie, принадлежащим Twitter - то, что вы не можете контролировать. Вы не можете выйти из Twitter от их имени.
Если вы хотите, чтобы кто-то мог использовать вашу функцию «переключить учетную запись Twitter», вам нужно будет снова передать его на подтверждение OAuth, но используйте путь / oauth / authorize
вместо путь / oauth / Authenticate
. Это позволит пользователю переключать свои учетные данные в Twitter во время рукопожатия вместо простой повторной аутентификации с использованием существующего сеанса Twitter.
В качестве альтернативы вы можете иметь отдельное представление о пользователях в своем собственном приложении, при этом у вас есть собственный пользователь модель, с которой связано множество учетных записей Twitter. Таким образом, вы можете позволить своим пользователям переключать учетные записи более непринужденно.
Вы можете использовать oauth/authenticate и добавить force_login=true
, как указано в GET oauth/authenticate. В результате у пользователя появится форма логина.