我希望用户从我的应用程序中请求优步游戏
https://developer.uber.com/docs/rides/authentication
在上面网址的OAuth 2.0部分,有6个步骤:
1.授权(完成)
2.接收重定向(完成)
3.获取访问令牌(' invalid_grant'错误)
以下截图来自Postman。 我尝试将client_id,client_secret,grant_type,redirect_uri和代码作为params,form-data和x-www-form-url-encoded传递。但每次它返回相同的错误。
我已经把{' http://localhost:3000/auth/uber/callback'作为我的优步应用程序控制台中的重定向网址。
我甚至在终端中尝试了以下curl命令,但它返回相同的' invalid_grant'错误
有人可以帮我解决这个问题。
答案 0 :(得分:2)
您的邮递员请求对我来说是正确的。我最好的猜测是什么:
1)您设置了多个重定向,并且在执行授权阶段时使用一个重定向URL,而在尝试进行令牌交换时使用另一个重定向URL
2)您正在为一个client_id进行授权,并尝试为另一个
进行令牌交换3)您的授权码已被使用/过期。请记住它只适用于一个请求。
你可以尝试以下方法并告诉我会发生什么:
1)执行授权流程并特别注意您在授权URL中输入的客户端ID和重定向uri是否正确
2)浏览器重定向后,将授权码复制出重定向网址
3)将授权代码放入邮递员请求/ curl语句中,并确保客户端ID /重定向URI在您执行时正确。
答案 1 :(得分:0)
状态代码:401未经授权
{
"error": "invalid_grant"
}
您使用的是无效的 refresh_token 。你可以生成多个 访问令牌,但您只能使用最新生成的 的 refresh_token 强>
- 醇>
交换授权码时,您提供了无效的 代码 对于 access_token 。