"redirect_uri_mismatch"错误,自动附加"www" - Google OAuth2



我已经用公共托管域名(而不是localhost(设置了一个重定向_uri。它对包括我在内的大多数人都有效,但对我的表弟显示错误"redirect_uri_mismatch"。

  1. 这是一个错误

错误:redirect_uri_mismatch

请求中的重定向URI,http://www.domainname.com/src/oauth2callback.php,不匹配为OAuth客户端授权的那些。要更新授权重定向URI,请访问:https://console.developers.google.com/apis/credentials/oauthclient/123456-9nq218mchl4n9dj474v0821g7umko6fp.apps.googleusercontent.com?project=123456

了解更多请求详细信息

这就是我们所知道的。

由于我无法从我这边复制问题,

  1. 我让他从"一直"中清除缓存
  2. 重新启动系统,以匿名模式打开浏览器的单个会话,并尝试登录
  3. 尝试使用不同的设备,如使用不同ISP的手机

所有步骤都没有解决问题。它在成功的几次尝试中表现出了不一致的行为。

还可能是什么原因导致"redirect_uri_mismatch"错误?这是我的代码中的问题还是来自谷歌的问题。我正在为这个应用程序使用"php"。

谢谢。

更新:得到错误的原因

我已经建立了这样的重定向URL。

$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/src/oauth2callback.php');

并已将重定向URL注册为

http://domainname.com/src/oauth2callback.php

但是,当我的表亲点击登录按钮时,重定向URL已经在域名前添加了"www">,比如,http://www.domainname.com/src/oauth2callback.php.

他使用的是63.0版本的Firefox。更新firefox后,它是64.0,和我的一样。即使重定向URL附加了"www"。然而,添加另一个带有"www">的URL作为http://www.domainname.com/src/oauth2callback.php解决了问题。

我可以知道我的浏览器中没有发生这种自动附加行为的实际原因吗?

谢谢。

找到原因。相同的代码

$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/src/oauth2callback.php');

在我表哥的域名前加了"www">

http://www.domainname.com/src/oauth2callback.php

同样的是没有为我添加"www"。

http://domainname.com/src/oauth2callback.php

并且重定向URL是在没有"www"的情况下注册的。现在我注册了带有和不带有"www"的两个URL,现在它工作得很好。

相关内容

最新更新