嗨,我想获取一个Twitter用户访问令牌/刷新令牌,以便我的应用程序可以代表用户发布/读取推文。
我的应用程序中有一个按钮..单击该按钮时,我需要显示以下图片-
用户应该能够提供他/她的证书,并且如果它已经登录到Twitter,那么他/她应该只看到授权应用按钮。
我在开发人员的Twitter帐户中创建了一个新应用。.但是对于如何使用户的访问令牌代表他发帖/读取,他一无所知...
答案 0 :(得分:1)
Twitter使用OAuth1.0a,与使用OAuth2.0的Facebook不同。 OAuth1.0a和OAuth2.0之间的区别在于OAuth1.0a更加安全,您应该使用基于服务器的身份验证流程,因为它涉及api密钥和秘密,我们不应该与Angular应用共享。
在服务器端(NodeJS / Django等),您应该使用OAuth1.0客户端库,该库将帮助您完成复杂的请求签名过程,然后再将其发送到Twitter。 这是一个有用的链接(我也曾用过)供您实现服务器流程: https://github.com/requests/requests-oauthlib/blob/master/docs/oauth1_workflow.rst
基本上,Twitter的OAuth流程如下:
oauth / request_token
https://api.twitter.com/oauth/authorize?oauth_token=XXX
的身份验证网址,您会将其重定向到用户,以便他们可以授权您的应用access_token
和verifier
将用户重定向到您的重定向URL(您在上一步中随请求发送)。access_token
发送verifier
来将POST
和oauth/access_token
交换为实际可用的用户访问令牌。 您可以在此处找到有关三足式OAuth流的更多详细信息:https://developer.twitter.com/en/docs/basics/authentication/overview/3-legged-oauth