【问题标题】:Get user Access Token from Twitter in Angular 2+ app在 Angular 2+ 应用程序中从 Twitter 获取用户访问令牌
【发布时间】:2019-03-08 08:06:40
【问题描述】:

您好,我想获得一个 twitter 用户访问令牌/刷新令牌,以便我的应用程序可以代表用户发布/阅读推文..

我的应用中有一个按钮。点击按钮后,我需要显示如下图所示的内容 -

用户应该能够提供他/她的凭据,如果它已经登录到 twitter,那么他/她应该只看到授权应用按钮..

我在我的开发者 Twitter 帐户中创建了一个新应用。但对于如何让用户的访问令牌代表他发布/阅读几乎一无所知...

【问题讨论】:

  • 你找到解决办法了吗?

标签: javascript angular twitter angular6 twitter-oauth


【解决方案1】:

Twitter 使用 OAuth1.0a,而 Facebook 使用 OAuth2.0。 OAuth1.0a 和 OAuth2.0 之间的区别在于 OAuth1.0a 更安全,您应该使用基于服务器的身份验证流程,因为它涉及我们不应该与 Angular 应用共享的 API 密钥和秘密。

在服务器端(NodeJS/Django 等),您应该使用 OAuth1.0 的客户端库,这将帮助您在将请求发送到 Twitter 之前签署请求的复杂过程。 这是一个有用的链接(我也使用过),用于实现服务器流程: https://github.com/requests/requests-oauthlib/blob/master/docs/oauth1_workflow.rst

基本上,twitter 的 OAuth 流程如下:

  1. oauth / request_token发送POST请求
  2. 您将从第 1 步获得授权网址,例如 https://api.twitter.com/oauth/authorize?oauth_token=XXX,您会将用户重定向到该网址,以便他们可以授权您的应用
  3. Twitter 使用access_tokenverifier 将用户重定向到您的重定向网址(您在上一步中随请求发送)。
  4. 您需要通过将POST 发送到oauth/access_token 来将access_tokenverifier 交换为实际可用的用户访问令牌。

您可以在此处找到有关 3-legged OAuth 流程的更多详细信息:https://developer.twitter.com/en/docs/basics/authentication/overview/3-legged-oauth

【讨论】:

猜你喜欢
  • 2011-05-26
  • 2012-08-12
  • 2012-04-28
  • 1970-01-01
  • 2011-12-29
  • 2013-08-08
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多