【问题标题】:doorkeeper auth flow not working门卫身份验证流程不起作用
【发布时间】:2017-11-16 01:07:33
【问题描述】:

我正在尝试按照https://github.com/doorkeeper-gem/doorkeeper/wiki/Interacting-as-an-OAuth-client-with-Doorkeeper#writing-a-raw-oauth-client 的描述执行 oauth2 流程,但是当我收到 401 时 我尝试检索访问令牌。这就是我正在做的事情

1) 点击应用程序上的授权按钮,如下所示 2) 我在下一个屏幕上授权应用程序,我得到了一个chromiumapp.org/?code=eb775dba8811f605c672a0aac8472972eabaae87446ac957e2b71c57b0b10e6e 形式的 URL

3) 给定我执行的这段代码

curl -XPOST http://localhost:3000/oauth/token -d '{ 
  "client_id": CLIENT_ID,
  "client_secret": CLIENT_SECRET, 
  "redirect_uri": "https://galaiojniedmogfplghkjnmcfnlbpbpg.chromiumapp.org/", 
  "grant_type": "authorization_code", 
  "code": "eb775dba8811f605c672a0aac8472972eabaae87446ac957e2b71c57b0b10e6e" 
}`

但是这会返回{"error":"invalid_request","error_description":"The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed."}

我是否遗漏了流程的某些部分,或者文档中有什么不正确的地方?

【问题讨论】:

    标签: ruby-on-rails ruby oauth doorkeeper


    【解决方案1】:

    我已经更新了我上面链接的 wiki,但如果其他人遇到这个问题,根据 rfc,令牌请求上的参数必须是 urlencoded。

    curl -XPOST http://localhost:3000/oauth/token
      -F "client_id=CLIENT_ID"
      -F "client_secret=CLIENT_SECRET" 
      -F "redirect_uri=https://galaiojniedmogfplghkjnmcfnlbpbpg.chromiumapp.org/"
      -F "grant_type=authorization_code"
      -F "code=eb775dba8811f605c672a0aac8472972eabaae87446ac957e2b71c57b0b10e6e" 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 2012-04-29
      • 2012-03-18
      • 2011-07-05
      相关资源
      最近更新 更多