Php Google登录API OAuth2-错误:无效的\u请求
我有谷歌登录API的问题。我遵循了从Google开发控制台配置它的步骤。看起来很简单。。。我读过一些关于堆栈溢出的类似问题,但我能找到的只是:添加您的授权来源。。。(顺便问一下,“授权来源”是什么?) 以下是我插入PHP网页的代码: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
<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来源:
- (这只是为了让我可以在家里使用子域)
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