Mailchimp“invalid_grant”错误
Posted
技术标签:
【中文标题】Mailchimp“invalid_grant”错误【英文标题】:Mailchimp "invalid_grant" error 【发布时间】:2017-01-02 02:20:14 【问题描述】:我正在尝试使用 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'
)
地点:
grant_type 是 'authorization_code' client id & secret 是我设置应用程序时给我的值 在 Mailchimp code 是从(成功的)OAuth 返回给我的令牌 身份验证有人遇到过这种错误吗?知道如何解决吗?
【问题讨论】:
你发现了吗? :D 【参考方案1】:我今天也遇到了类似的问题,我的结论如下:
不幸的是,MailChimp(以及许多其他提供 OAuth2 端点的公司)不提供额外的错误信息 - invalid_grant
显示在许多不同的场景中。
在我的情况下,问题是由 redirect_uri
的细微差别引起的 - 我没有在令牌请求中包含完全匹配的内容。它很严格,必须包含查询参数并且也必须匹配。
不幸的是,包含错误的授权码会导致与上述相同的错误。
【讨论】:
遇到同样的问题,但仍然无法确定是什么原因造成的。在这两种情况下发送完全相同的重定向 URI、有效的客户端 ID/秘密以及从授权中接收到的确切代码。超级无用的错误信息...【参考方案2】:invalid_grant
的问题是由于在重定向 URI 上使用 encodeURIComponent
,然后将此编码值传递给请求对象的配置而引起的。这实质上会导致双重编码,从而导致重定向 URI 不匹配并导致此错误。
【讨论】:
以上是关于Mailchimp“invalid_grant”错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS 中的 Google OAuth2 问题 - “invalid_grant”错误
“invalid_grant”/“bad request”同时获取 authcode google api 的令牌
BigQuery 中的 Heisenberg 错误“invalid_grant”?
环境/身份验证可能存在问题 - BigQuery 管理员:invalid_grant, Invalid JWT Signature