2

我无法理解 Twitter 授权系统的工作原理。我正在使用next-auth向 Twitter 进行身份验证,我得到的响应如下所示:

account: {
    provider: 'twitter',
    type: 'oauth',
    id: 12345,
    refreshToken: '12345OdWwHk85yESQCNkRrqkLUIQ78SCKh4Ry',
    accessToken: '20744357-12345eJhOMjEEuuMARXF6DS7fZKqcyIULw',
    accessTokenExpires: null
  }

如何使用它来调用 Twitter API?

使用twitter-lite,我如何使用refreshTokenaccessToken来授权请求​​?看来我需要access_token_keyand access_token_secret

任何帮助将永远感激。

4

2 回答 2

3

NextAuth 错误地access_token_secret称为refreshToken. 使用 中存在的值refreshToken。我用 Twitter Provider 对此进行了测试,它可以工作。

提出了 nextauth 的问题https://github.com/nextauthjs/next-auth/issues/1321

于 2021-02-16T13:27:37.697 回答
1

按照他们的文档,使用您在此处提供的访问令牌签署您的请求。我猜您正在使用 OAuth 2.0,它使您可以有限地访问 Twitter API。

https://developer.twitter.com/en/docs/basics/authentication/overview

您发布的令牌似乎是不记名令牌(OAuth 2.0)。它不适用于您尝试使用的 API。https://developer.twitter.com/en/docs/basics/authentication/oauth-2-0/application-only,如果他们支持 Twitter OAuth 1.0,你需要检查 next-auth。我也会研究下一个身份验证

于 2020-06-16T16:07:23.810 回答