Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Google登录API OAuth2-错误:无效的\u请求_Php_Api_Apache2_Ubuntu Server - Fatal编程技术网

Php Google登录API OAuth2-错误:无效的\u请求

Php Google登录API OAuth2-错误:无效的\u请求,php,api,apache2,ubuntu-server,Php,Api,Apache2,Ubuntu Server,我有谷歌登录API的问题。我遵循了从Google开发控制台配置它的步骤。看起来很简单。。。我读过一些关于堆栈溢出的类似问题,但我能找到的只是:添加您的授权来源。。。(顺便问一下,“授权来源”是什么?) 以下是我插入PHP网页的代码: <head> <title>CrateBoxStudio</title> <meta name="google-signin-client_id" content="**MYCODE**-nk3amkhq4disgf

我有谷歌登录API的问题。我遵循了从Google开发控制台配置它的步骤。看起来很简单。。。我读过一些关于堆栈溢出的类似问题,但我能找到的只是:添加您的授权来源。。。(顺便问一下,“授权来源”是什么?)

以下是我插入PHP网页的代码:

<head>
  <title>CrateBoxStudio</title>
  <meta name="google-signin-client_id" content="**MYCODE**-nk3amkhq4disgfjmcsd53gku38bk6rpv.apps.googleusercontent.com">
  <script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
完整错误详细信息(请求的详细信息):

192.168.0.111是我的服务器的本地IP。这是我的服务器本地IP,因为我正在本地测试它。如果它是在我家外面被访问的,那就是我的路由器IP。(我们不能在授权来源中使用数字IP,这可能相关吗?)

上面是我在我的网站主页上单击“登录”按钮时遇到的错误(我现在只有一个页面,index.php) 你自己看:(这个URL是从Google控制台添加到授权的JavaScript源代码中的。这个URL把我们带到我的index.php页面。)

所以

该域名由GoDaddy托管

我的服务器运行在Apache2和Ubuntu服务器上

谷歌登录按钮抛出上面的错误

我只有一个页面(index.php)。这是登录按钮所在的位置

我的域名重定向到端口8080上的路由器IP,被URL隐藏


我将crateboxstudio.com和lan.crateboxstudio.com添加到控制台中域验证的允许域中

我只做了上面提到的事

授权的JavaScript来源:

  • (这只是为了让我可以在家里使用子域)

授权重定向URI: -没什么

有人知道我如何获得更多关于我的错误的信息或如何修复它吗

另外,我不太熟悉关于堆栈溢出的问题,如果我不遵守一些标准,请原谅。请随意评论

谢谢,,
Cratebox

您必须将本地域(用于测试)添加到开发者控制台中Google项目中允许的域列表中。Google将拒绝任何未列出的域的身份验证请求。

您必须在开发者控制台中将本地域(用于测试)添加到Google项目中允许的域列表中。谷歌将拒绝未列出的任何域的身份验证请求。

毕竟,我发现我的goDaddy域名配置存在问题。我切换到谷歌域名(为了使事情更简单,界面是如此清晰和简单),我发现我试图将我的域名转发到我的服务器IP

这是不正确的。API不支持转发的域。它必须是一张a唱片(或者任何类型的唱片,也许我对这些不太了解)

谷歌域名中的我的域名设置:

在上面的图片中,我创建了2个A(或者其他类型,我对这些不太了解)记录。@(当前域名的快捷方式,又名crateboxstudio.com)是我的公共IP

第二个,lan,是我用于本地测试的子域(lan.claitboxstudio.com)

带有蓝色大X的区域是goDaddy上的等效区域,我试图将我的域转发到某个IP。不能那样做。。。不知道为什么

来自Google API控制台的我的凭据设置:

上图中需要www和not www


终于成功了!但是,我的ISP阻止了端口80,所以我不能只键入crateboxstudio.com,我需要键入crateboxstudio.com:8080…

毕竟,我发现我的goDaddy域名配置有问题。我切换到谷歌域名(为了使事情更简单,界面是如此清晰和简单),我发现我试图将我的域名转发到我的服务器IP

这是不正确的。API不支持转发的域。它必须是一张a唱片(或者任何类型的唱片,也许我对这些不太了解)

谷歌域名中的我的域名设置:

在上面的图片中,我创建了2个A(或者其他类型,我对这些不太了解)记录。@(当前域名的快捷方式,又名crateboxstudio.com)是我的公共IP

第二个,lan,是我用于本地测试的子域(lan.claitboxstudio.com)

带有蓝色大X的区域是goDaddy上的等效区域,我试图将我的域转发到某个IP。不能那样做。。。不知道为什么

来自Google API控制台的我的凭据设置:

上图中需要www和not www


终于成功了!但是,我的ISP阻止了端口80,所以我不能只键入crateboxstudio.com,我需要键入crateboxstudio.com:8080…

我添加了crateboxstudio.com和lan.crateboxstudio.com,仍然存在相同的错误。这可能与我的goDaddy域配置有关吗?lan.crateboxstudio.com和www.lan.crateboxstudio.com被认为是两个完全不同的来源。您确定在开发人员控制台上添加了正确的源域吗?顺便说一下,这个错误与你在GoDaddy上的域配置无关。希望它与我的GoDaddy配置无关,因为这对我来说真的很黑暗。对于起源,我添加了www和not-www-Still,同样的错误。我还添加了公共的crateboxstudio.com/www.crateboxstudio.com。如果我的域指向路由器的公共IP端口8080而不是80,会有问题吗?另外,我应该用谷歌控制台的客户端密钥做些什么吗?这看起来很重要,但是我在我的教程中没有看到任何关于这方面的内容。我现在没有在任何地方使用它。用于登录的api不需要客户端密钥。我添加了crateboxstudio.com和lan.crateboxstudio.com,仍然存在相同的错误。这可能与我的goDaddy域配置有关吗?lan.crateboxstudio.com和www.lan.crateboxstudio.com被认为是两个完全不同的来源。您确定在上添加了正确的源域吗
The error simple description : Permission denied to generate login hint for target domain.
redirect_uri=storagerelay://http/192.168.0.111?id=auth885739
response_type=permission id_token
scope=email profile openid
openid.realm=
client_id=**MYCODE**-nk3amkhq4disgfjmcsd53gku38bk6rpv.apps.googleusercontent.com
ss_domain=http://192.168.0.111
fetch_basic_profile=true
gsiwebsdk=2