尝试获取访问令牌时出现 Google OAuth 2.0 redirect_uri_mismatch 错误

问题描述 投票:0回答:3

我正在尝试交换身份验证代码以访问 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的代码块) 但没有成功。

请求有什么问题吗?

oauth
3个回答
1
投票

检查下面这 2 个步骤

  1. 用于检索授权码和访问令牌的重定向 uri 应该相同
  2. 使用您在创建应用程序时配置的相同重定向 uri,屏幕截图如下

enter image description here


0
投票

显然,两个调用,第一个调用到身份验证端点,第二个调用获取令牌,都需要使用相同的

redirect_uri
(wth#?!) (感谢https://stackoverflow.com/a/25163080/274720


0
投票

将其放入redirect_uri:

postmessage

参考:https://stackoverflow.com/a/78014032/2132069

我不知道为什么,但这在我的项目中有效。有趣。

© www.soinside.com 2019 - 2024. All rights reserved.