为了解决这个问题,我们将解释此错误的含义,并提供解决它的分步指南。
什么是错误 400 redirect_uri_mismatch?
当 Google 开发者控制台中的 URI 与应用代码中的 URI 不匹配时,就会发生 400 错误。这会导致错误 400,因为无法正确交换授权代码。
为了更好地理解此错误,让我们深入研究Google OAuth 2身份验证的工作原理。
Google OAuth 2 身份验证允许用户允许其他应用使用他们的 Google 帐户,而无需泄露密码。当用户想要连接应用时,应用会将他们发送到 Google 的特殊登录页面。
在那里,用户输入他们的Google登录详细信息,并使用他们的帐户对应用程序说“是”。
谷歌OAuth 2身份验证解释
了解 Google OAuth 2 身份验证:
-
- 设置应用:开发者向 Google 介绍他们的应用,并从 Google 开发者控制台获取特殊 ID 和密码。
- 请求权限:当用户尝试使用该应用时,Google 会向他们显示一个屏幕。此屏幕询问应用是否可以具有特定权限。
- 获取访问权限:如果用户说“是”,应用会从 Google 获取验证码。该应用将此代码交换为另外两个代码(令牌),以便为用户使用 Google 功能。
- 保持访问权限:这些令牌不会永远持续下去。但是,当它们用完时,应用可以使用其中一个(刷新令牌)来获取新的。这意味着用户不必继续授予权限。
什么原因导致错误400 redirect_uri_mismatch?
有几个因素可能导致“redirect_uri_mismatch”错误的发生。让我们探讨最常见的原因:
- 应用中的 URI 错误:有时,开发者会在他们的应用中放置错误的重定向链接,这与 Google 开发者控制台上的内容不匹配。
- 许多正在使用的 URI:如果应用使用多个重定向链接,开发者需要确保每个链接都与 Google 开发者控制台上的内容匹配。
- 未正确更新 URI:随着时间的推移,应用和 Google 开发者控制台中的链接可能无法保持同步。
- Google 开发者控制台中的更改:如果在未更新应用的情况下对控制台中的 URI 设置进行了更改,则可能会导致错误。
如何修复错误400 redirect_uri_mismatch?
-
- 输入授权的重定向 URI:
- 首先,打开您的网络浏览器并转到谷歌API控制台。
- 查看页面的左上角,从下拉列表中查找并选择正确的项目。
- 从左侧菜单中导航到“API和服务”,然后单击“凭据”选项卡。
- 在列表中找到您创建的 OAuth 客户端 ID,然后单击它以打开其设置。
- 查找“授权重定向 URI”部分,然后单击“添加 URI”按钮。
- 在提供的字段中,输入您的授权重定向 URI,然后单击页面底部的“保存”按钮。
- 输入授权的重定向 URI:
-
- 从错误消息中添加 URL:
- 在您收到的错误消息上,找到并复制提到的确切 URL。
- 返回到 Google API 控制台中 OAuth 客户端 ID 凭据下的“授权重定向 URI”部分。
- 单击“添加URI”按钮,将错误消息中的URL粘贴到字段中,然后单击页面底部的“保存”按钮。
- 输入各种网址:
- 在 Google API 控制台的“授权重定向 URI”部分,单击“添加 URI”按钮。
- 输入网址的各种版本,同时考虑以下变体:
- 带斜杠和不带尾部斜杠(例如,和 )。
https://yoursite.com/
https://yoursite.com
- 带和不带“www”(例如,和)。
https://www.yoursite.com
https://yoursite.com
- 带斜杠和不带尾部斜杠(例如,和 )。
- 输入所有变体后,单击页面底部的“保存”按钮。
- 检查项目和凭据:
- 通过检查 Google API 控制台左上角的项目名称,确保您正在处理正确的项目。
- 导航到“凭据”选项卡,然后单击您创建的 OAuth 客户端 ID。
- 仔细检查列出的“授权重定向 URI”,以确保它们与要使用的 URI 匹配。
- 从错误消息中添加 URL:
- 使用 API 控制台更新重定向 URI:
- 转到项目的控制台,在“API 访问”下,找到您的客户端 ID 和密钥。
- 检查重定向 URI 列表,如果未列出所需的 URI,请单击“编辑设置”。
- 将 URI 添加到列表中,然后单击“保存”以更新设置。
- 考虑 OAuth 2.0 授权更改:
- 如果将 Azure AD B2C 与 MSAL sdk 一起用于本机 Android 和 iOS 应用程序,请检查 Google 的 OAuth 2.0 授权中是否有任何可能需要更新配置的最新更改。
- 确保正确设置了 Google Single Sign-On (SSO) 的配置,并且 Azure AD B2C 中的重定向 URI 与在 Google API 控制台中注册的 URI 匹配。
在使用Google OAuth 400身份验证时收到“redirect_uri_mismatch”错误2可能会很烦人。但是了解导致此错误的原因以及如何修复它会有所帮助。按照共享的步骤操作可以帮助开发人员解决此问题,并使其应用程序的登录过程顺利进行。
通过遵循这些准则,修复错误变得更加容易。这样,您就可以在应用中更好地使用Google OAuth 2身份验证。修复此错误有助于使应用更好、更安全。
谷歌OAuth 2错误400 redirect_uri_mismatch常见问题解答
如果请求中的重定向网址与 OAuth 2.0 客户端的 Google API 控制台中列出的任何重定向网址不匹配,则会出现此错误。这是一种确保仅使用授权 URL 的方法。
转到 Google API 控制台,选择您的项目,导航到“凭据”,单击您的 OAuth 客户端 ID,然后在“授权重定向 URI”部分中,添加正确的重定向 URI。然后点击“保存”。
尝试在“授权重定向 URI”部分添加网址变体,例如带/不带尾斜杠或不带“www”的版本。然后单击“保存”并再次测试。
确保您在 Google API 控制台中处理的项目正确,并且您正在编辑的 OAuth 客户端 ID 是正确的。此外,请检查 Google OAuth 2.0 授权中可能需要新配置的任何最新更新。
是的,您可以在 Google API 控制台的“授权重定向 URI”部分添加多个重定向 URI,以处理不同的登录重定向,这有助于防止此错误再次发生。