Получить токен доступа пользователя из Twitter в приложении Angular 2+ - PullRequest
0 голосов
/ 03 октября 2018

Привет! Я хочу получить токен доступа для пользователя в Твиттере / токен обновления, чтобы Мое приложение могло публиковать / читать твиты от имени пользователя.

У меня есть кнопка в моем приложении ... при нажатии кнопкикнопку, мне нужно показать что-то похожее на изображение ниже - enter image description here

пользователь должен иметь возможность предоставить свои учетные данные, и если он уже вошел в твиттер, то он / онадолжна отображаться только кнопка авторизации приложения.

Я создал новое приложение в своей учетной записи Twitter для разработчиков ... но немного не знаю, как получить маркер доступа пользователя для публикации / чтения его имени ...

1 Ответ

0 голосов
/ 22 ноября 2018

Twitter использует OAuth1.0a в отличие от Facebook, который использует OAuth2.0.Разница между OAuth1.0a и OAuth2.0 заключается в том, что OAuth1.0a более безопасен, и вам следует использовать процесс аутентификации на основе сервера, поскольку он включает в себя API-ключи и секреты, которыми мы не должны делиться с угловым приложением.

На стороне сервера (NodeJS / Django и т. Д.) Вы должны использовать клиентскую библиотеку для OAuth1.0, которая поможет вам в сложном процессе подписывания запросов перед отправкой в ​​твиттер.Вот полезная ссылка (которую я также использовал) для реализации серверного потока: https://github.com/requests/requests-oauthlib/blob/master/docs/oauth1_workflow.rst

По существу, поток OAuth для twitter выглядит следующим образом:

  1. ОтправитьPOST-запрос на oauth / request_token
  2. Вы получите URL-адрес авторизации, начиная с шага 1, например https://api.twitter.com/oauth/authorize?oauth_token=XXX, на который вы будете перенаправлять пользователя, чтобы он мог авторизовать ваше приложение
  3. Twitter перенаправляет пользователяна ваш URL перенаправления (который вы отправили с запросом на предыдущем шаге) с access_token и verifier.
  4. Вам необходимо обменять access_token и verifier на действительный токен доступа пользователя, который может быть использованотправив POST на oauth/access_token.

Подробнее о трехстороннем потоке OAuth можно узнать здесь: https://developer.twitter.com/en/docs/basics/authentication/overview/3-legged-oauth

...