NextAuth:使用 OAuth 授权对 Twitter API 的调用

NextAuth: Authorize calls to the Twitter API using OAuth

我无法理解 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_keyaccess_token_secret.

任何帮助将不胜感激。

按照他们的文档使用此处提供的访问令牌签署您的请求。我猜您使用的是 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 ,您需要与 next-auth 确认他们是否支持 Twitter OAuth 1.0。我也会研究 next-auth

NextAuth 将 access_token_secret 错误地引用为 refreshToken。使用 refreshToken 中的值。我使用 Twitter Provider 对此进行了测试,它有效。

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