Mailchimp“invalid_grant”错误

tri*_*nia 5 ruby ruby-on-rails oauth mailchimp

我正在尝试使用 Mailchimp 的 OAuth 实现完成身份验证,并且我的访问令牌请求收到“invalid_grant”错误。

使用 ruby​​ HTTParty gem,我将数据发布到 Mailchimp:

  url = 'https://login.mailchimp.com/oauth2/token'
  result = HTTParty.post(url,
                         body: {
                            grant_type: 'authorization_code',
                            client_id: ENV["MAILCHIMP_ID"],
                            client_secret: ENV["MAILCHIMP_SECRET"],
                            code: auth_hash.credentials.token,
                            redirect_uri: 'https://requestb.in/1jrbjmi1',
                         },
                         headers: {
                            'Accept': 'application/json'
                         })
Run Code Online (Sandbox Code Playgroud)

在哪里:

  • grant_type 是“authorization_code”
  • 客户端 ID 和机密是我在 Mailchimp 上设置我的应用程序时给我的值
  • 代码是从(成功的)OAuth 身份验证返回给我的令牌

有没有人遇到过这种错误?知道如何修复它吗?

Den*_*nko 5

我今天遇到了类似的问题,我的结论如下:

  1. 不幸的是,MailChimp(以及许多其他提供 OAuth2 端点的公司)没有提供额外的错误信息 -invalid_grant显示了许多不同的场景。

  2. 在我的情况下,问题是由细微的差异引起的redirect_uri- 我没有在令牌请求中包含完全匹配的内容。它是严格的,并且必须包含查询参数并且也必须匹配。

  3. 不幸的是,包含错误的授权代码会导致与上述相同的错误。