自定义本地网址会产生redirect_uri_mismatch

时间:2016-07-15 19:41:40

标签: authentication oauth google-oauth google-adwords google-oauth2

我正在使用自定义本地网址开发使用OAuth2对Google和Adwords进行身份验证的项目。

我的/ etc / hosts文件中的条目如下所示:

127.0.0.1 sub.example.dev:3001

在Google Cloud Platform控制台中,我设置了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的自定义网址。切换到自定义本地网址后,Google身份验证仍然有效,但当我尝试使用Adwords进行身份验证时,我收到redirect_uri_mismatch错误。

错误页面告诉我"请求中的重定向URI sub.example.dev:3001/auth/adwords/callback与授权给OAuth客户端的URI不匹配。"此处报告的URI与我作为授权重定向URI(减去协议)的URI完全相同。

为什么这适用于Google OAuth,而不适用于Adwords?如何获取自定义本地重定向网址以使用Adwords OAuth?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现了这个问题,问题本身就有了暗示。我在OAuth流程中传递的重定向网址需要包含协议,我在配置中错过了这个。

我在OAuth流程中传递的重定向网址为sub.example.dev:3001/auth/adwords/callback

我将其更改为http://sub.example.dev:3001/auth/adwords/callback,现在可以了! :d