我正在使用自定义本地网址开发使用OAuth2对Google和Adwords进行身份验证的项目。
我的/ etc / hosts文件中的条目如下所示:
127.0.0.1 sub.example.dev:3001
在Google Cloud Platform控制台中,我设置了OAuth 2.0客户端ID:
Web Application
http://sub.example.dev:3001
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?
谢谢!
答案 0 :(得分:0)
我发现了这个问题,问题本身就有了暗示。我在OAuth流程中传递的重定向网址需要包含协议,我在配置中错过了这个。
我在OAuth流程中传递的重定向网址为sub.example.dev:3001/auth/adwords/callback
我将其更改为http://sub.example.dev:3001/auth/adwords/callback
,现在可以了! :d