Вопрос

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

Я хочу добавить кнопку «переключить учетную запись Twitter», которая фактически очищает сеанс, а затем открывает авторизацию_url.

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

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

Это было полезно?

Решение

Сеанс с Twitter определяется файлом cookie, принадлежащим Twitter, и вы не можете его контролировать.Вы не можете выйти из Твиттера от их имени.

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top