【发布时间】:2017-10-06 04:06:43
【问题描述】:
我正在尝试交换身份验证代码以访问 OAuth2 上的令牌。
我使用 GET 请求向 google 发送了一个请求,我得到了一个代码。现在我正在尝试交换代码以访问令牌。
我使用这些参数向https://accounts.google.com/o/oauth2/token 发送了请求 使用 POST 请求
code=[Authentication code]
client_id=[Client ID]
client_secret=[Client Secret]
redirect_uri=urn:ietf:wg:oauth:2.0:oob
grant_type=authorization_code
但谷歌这样回应 400 错误
{ “错误”:“redirect_uri_mismatch” }
我在谷歌开发者控制台上创建了客户端 ID。我使用了“已安装的应用程序”类型。 我也试过: request_uri=@://localhost:8081 request_uri=@://localhost:8081/
(@表示http。我是在手机上编辑的,所以无法插入http的代码块) 但它没有用。
请求有什么问题?
【问题讨论】:
-
redirect_uri=urn:ietf:wg:oauth:2.0:oob- 该值应该代表什么?通常,您为该参数指定一个 HTTP(S) URL,在用户通过 OAuth 提供程序进行身份验证后,客户端将重定向回该参数…… -
您将其作为 HTTP 帖子发送而不是 HTTP 获取正确吗? daimto.com/google-3-legged-oauth2-flow
-
我也试过redirect_uri=localhost:8081。我请求使用 GET 谷歌服务器,我得到了一个代码,现在我正在尝试交换这个代码来访问令牌。此请求必须是 POST。
标签: oauth