Подтвердить что ты не робот

API Twitter - выход из системы

Я использую OAuth в своем веб-приложении, и пользователи могут входить в систему с помощью твиттера.

Я хочу добавить кнопку "switch twitter account", которая фактически очищает сеанс, а затем открывает authorize_url.

Как очистка сеанса в моем веб-приложении не выходит из твиттера, authorize_url автоматически аутентифицирует текущего пользователя twitter.com. Это означает, что я не могу выйти из системы, если я не отправлю пользователя на twitter.com.

Возможно ли это с API? Каков наилучший способ реализовать это?

4b9b3361

Ответ 1

Сессия с Twitter определяется куки файлом, принадлежащим Twitter, - то, что вы не контролируете. Вы не можете вывести их из Twitter из их имени.

Если вы хотите, чтобы кто-то мог использовать вашу функцию "switch twitter account", вам нужно снова передать их в рукопожатие OAuth, но используйте путь /oauth/authorize вместо пути /oauth/authenticate. Это позволит пользователю переключать свои учетные данные пользователя в Twitter во время рукопожатия, а не просто повторять аутентификацию, используя существующую сессию Twitter.

Кроме того, у вас может быть отдельное понятие пользователей в вашем собственном приложении, в соответствии с которым у вас есть собственная модель пользователя, в которой есть много связанных с ней учетных записей Twitter. Таким образом, вы можете позволить своим пользователям более легко переключаться с аккаунтов. Им нужно будет авторизовать ваше приложение для каждой из своих учетных записей Twitter, но после этого у вас будут все ключи oauth для каждой из своих учетных записей.

Ответ 2

Вы можете использовать oauth/authenticate и добавить force_login=true, как указано в GET oauth/authenticate. Это приведет к тому, что пользователь получит регистрационную форму.

Ответ 3

Извините за комментарий как ответ. Решение abraham отлично работает, но для очистки поля имени пользователя вам также нужно добавить screen_name= в запрос GET.