2016-07-04 109 views
5

我希望用户从我的应用程序请求优步乘车。
https://developer.uber.com/docs/rides/authentication
为乘车请求申请访问令牌返回'invalid_grant'错误

下,在上面的URL的OAuth 2.0节中,有6个步骤:
1.授权(完成)
2.接收重定向(完成)
3.获取访问令牌('invalid_grant 'error)

以下屏幕截图来自Postman。 我尝试通过client_id,client_secret,grant_type,redirect_uri和代码作为params,form-data和x-www-form-url-encoded。但每次它都会返回相同的错误。

enter image description here

我在Uber应用仪表板把 'http://localhost:3000/auth/uber/callback' 作为重定向URL。

我甚至试图在终端下面的curl命令,但它返回相同的“invalid_grant”错误

enter image description here

有人能帮我解决这个问题。

+0

在S.O.上,屏幕截图通常不会对此有帮助。 (也许你的情况是例外),但是,考虑重写你的Q只使用'curl'命令。当你得到这个工作时,你应该能够解决你Oauth /邮差问题,对吧?此外,如果您为编程/脚本语言添加标签,您将获得更多帮助。考虑到你已经有了'curl'代码样例,你可以添加一个'bash'标签并获得约20K个关注者。 (或者至少添加邮差或Oauth标签,取决于追随者的数量)。祝你好运。 – shellter

+0

@mahendhar是否解决了这个问题? –

回答

2

您的邮递员请求看起来对我来说是正确的。我最好的猜测在怎么回事:

1)您有多个重定向设置,并且你使用一个重定向URL当你做授权的阶段和不同的一个,当你尝试做令牌交换

2)您正在为一个client_id授权,并尝试为另一个令牌交换

3)您的授权码已被使用/过期。请记住它仅适用于一个请求。

你能尝试以下告诉我发生了什么:

1)执行授权流程,特别要注意的是,客户端ID和重定向你把你的授权URL URI是正确的

2)浏览器重定向后,将授权码复制出重定向URL

3)将授权码放入邮递员request/curl语句中,并确保客户端ID /重定向URI在您执行时正确无误。

0

状态代码:401未经授权

{ 
    "error": "invalid_grant" 
} 
  1. 您使用的是无效refresh_token。您可以生成多个 访问令牌,但您只能使用最新生成的 refresh_token

  2. 您的access_token为交换一个授权码 时提供了无效代码

相关问题