ruby-on-rails - Mailchimp "invalid_grant"错误

标签 ruby-on-rails ruby oauth mailchimp

我正在尝试使用 Mailchimp 的 OAuth 完成身份验证 实现,我的访问 token 请求正在获取 “无效授权”错误。

使用 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'
  • 客户端 ID 和密码是我在设置应用程序时提供给我的值 在 Mailchimp
  • code 是从(成功的)OAuth 返回给我的 token 身份验证

有人遇到过这种错误吗?知道如何解决吗?

最佳答案

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

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

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

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

关于ruby-on-rails - Mailchimp "invalid_grant"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39148864/

相关文章:

ruby-on-rails - 每个类别 Rails 的不同注册模型

asp.net - oAuth ASP.NET 成员(member)提供商

ruby-on-rails - Ruby on Rails 国际化

ruby-on-rails - Ruby:将 "US/Eastern"时区名称转换为 "Central Time (US & Canada)"

ruby - 如何在 Ruby 中同时翻译多个单词?

c# - 使用 WebAuthenticationBroker 进行 oAuth

java - Spring oauth : Why resource server is authorising instead of authorisation server

ruby-on-rails - 更改默认 "choose file"按钮 rails

javascript - 使用 setData ("hai"后 Ckeditor 插件功能不起作用;

ruby-on-rails - 从 wiki 转换为 html