自定义本地 URL 结果 redirect_uri_mismatch
Custom local URL results in redirect_uri_mismatch
我正在使用自定义本地 URL 开发项目,该项目使用 OAuth2 Google 和 Adwords 进行身份验证。
我的 /etc/hosts 文件中的条目如下所示:
127.0.0.1 sub.example.dev:3001
在 Google 云平台控制台中,我有一个 OAuth 2.0 客户端 ID 设置:
- 类型:
Web Application
- 授权JavaScript来源:
http://sub.example.dev:3001
- 授权的重定向 URI:
http://sub.example.dev:3001/auth/adwords/callback
http://sub.example.dev:3001/auth/google/callback
我分别使用 Google 和 Adwords 进行身份验证。以前我使用的是 localhost:3001
而不是适用于 Google 和 Adwords 的自定义 URL。切换到自定义本地 URL 后,Google 身份验证仍然有效,但是当我尝试使用 Adwords 进行身份验证时,出现 redirect_uri_mismatch
错误。
错误页面告诉我 "The redirect URI in the request, sub.example.dev:3001/auth/adwords/callback, does not match the ones authorized for the OAuth client." 此处报告的 URI 与我拥有的授权重定向 URI 完全相同(减去协议)。
为什么这适用于 Google OAuth,而不适用于 Adwords?如何获得自定义本地重定向 URL 以与 Adwords OAuth 一起使用?
谢谢!
我找到了问题所在,问题本身也有提示。我在 OAuth 流程中传递的重定向 URL 需要包含协议,而我在配置中错过了它。
我在 OAuth 流程中传递的重定向 URL 是 sub.example.dev:3001/auth/adwords/callback
我将其更改为 http://sub.example.dev:3001/auth/adwords/callback
,现在可以使用了! :D
我正在使用自定义本地 URL 开发项目,该项目使用 OAuth2 Google 和 Adwords 进行身份验证。
我的 /etc/hosts 文件中的条目如下所示:
127.0.0.1 sub.example.dev:3001
在 Google 云平台控制台中,我有一个 OAuth 2.0 客户端 ID 设置:
- 类型:
Web Application
- 授权JavaScript来源:
http://sub.example.dev:3001
- 授权的重定向 URI:
http://sub.example.dev:3001/auth/adwords/callback
http://sub.example.dev:3001/auth/google/callback
我分别使用 Google 和 Adwords 进行身份验证。以前我使用的是 localhost:3001
而不是适用于 Google 和 Adwords 的自定义 URL。切换到自定义本地 URL 后,Google 身份验证仍然有效,但是当我尝试使用 Adwords 进行身份验证时,出现 redirect_uri_mismatch
错误。
错误页面告诉我 "The redirect URI in the request, sub.example.dev:3001/auth/adwords/callback, does not match the ones authorized for the OAuth client." 此处报告的 URI 与我拥有的授权重定向 URI 完全相同(减去协议)。
为什么这适用于 Google OAuth,而不适用于 Adwords?如何获得自定义本地重定向 URL 以与 Adwords OAuth 一起使用?
谢谢!
我找到了问题所在,问题本身也有提示。我在 OAuth 流程中传递的重定向 URL 需要包含协议,而我在配置中错过了它。
我在 OAuth 流程中传递的重定向 URL 是 sub.example.dev:3001/auth/adwords/callback
我将其更改为 http://sub.example.dev:3001/auth/adwords/callback
,现在可以使用了! :D