Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Django Google Oauth2.0 web应用程序&x27;s";“授权重定向URI”;必须以公共顶级域(如.com或.org)结尾?_Django_Oauth_Oauth 2.0_Google Api_Google Api Python Client - Fatal编程技术网

Django Google Oauth2.0 web应用程序&x27;s";“授权重定向URI”;必须以公共顶级域(如.com或.org)结尾?

Django Google Oauth2.0 web应用程序&x27;s";“授权重定向URI”;必须以公共顶级域(如.com或.org)结尾?,django,oauth,oauth-2.0,google-api,google-api-python-client,Django,Oauth,Oauth 2.0,Google Api,Google Api Python Client,在上创建Google API Oauth2.0凭据时,我选择“Web应用程序”应用程序类型 在“Authorized redirect URIs”字段中,我可以使用它,它在本地开发中对我来说很好 但是,当我想在我的服务器上使用Google API Oauth2.0凭据(比如99.99.99.99)时,我必须将其用作我的“授权重定向URI”,但Google给了我一个警告: 无效重定向:必须以公共 顶级域(如.com或.org) 除了将公共顶级域绑定到我的服务器,我还能做什么 我在Django中开发

在上创建Google API Oauth2.0凭据时,我选择“Web应用程序”应用程序类型

在“Authorized redirect URIs”字段中,我可以使用它,它在本地开发中对我来说很好

但是,当我想在我的服务器上使用Google API Oauth2.0凭据(比如99.99.99.99)时,我必须将其用作我的“授权重定向URI”,但Google给了我一个警告:

无效重定向:必须以公共 顶级域(如.com或.org)

除了将公共顶级域绑定到我的服务器,我还能做什么

我在Django中开发并用于处理Google API Oauth2,因此在我的数据库中有两个表“Oauth2_authentication_credential”,“Oauth2_authentication_flowmodel”,其中包含凭据值,我将它们从本地主机复制到服务器,但不起作用。

在“Authorized redirect URIs”字段附近有帮助文本,明确说明您不能使用公共IP地址:

授权重定向URI

用于web服务器的请求。这 在应用程序中,用户被重定向到的路径 他们已经通过谷歌认证。路径将附加 访问的授权代码。必须有一个协议。不能 包含URL片段或相对路径不能是公共IP 地址。

127.0.0.1
不是公共IP,而是a,这就是工作正常的原因。也可用于:

除了将公共顶级域绑定到我的服务器,我还能做什么


您可以通过使用免费DNS。因此,对于IP
99.99.99.99
使用。它将被解决。

感谢您对环回和公共IP的解释。我尝试访问(用我的真实服务器ip重播99.99.99.99),然后它返回一个页面,文本为“欢迎使用Fedora上的nginx!”,这不是服务器页面,有什么问题吗?xip.io所做的只是将主机名(
99.99.99.xip.io
在这种情况下)解析为主机名中指定的ip地址。“欢迎使用Fedora上的nginx!”是nginx的默认登录页。您是否已将应用程序部署到服务器并进行了配置?您是否在上看到您的应用程序?如果您的应用程序可以在访问,那么应该可以正常工作。我在服务器上使用CentOS 7和Nginx。我可以在99.99.99.99访问我的Django项目。根据您的建议,我发现带有“欢迎使用Fedora上的nginx!”的页面是我的Nginix的404页面。但是当我访问99.99.99.99和99.99.99.99.xip.io时,我会看到不同的页面,也许我的Nginx配置文件有一些错误配置?我猜在你的应用程序的服务器块中的Nginx配置中,你有这样的内容:
server\u name 99.99.99。如果是,则将其更改为
服务器名称99.99.99.99.99.99.99.99.xip.io。你的猜测是对的。在ngnix.conf中将服务器名称更改为99.99.99.99.99.99.99.xip.io之后,99.99.99.99.xip.io的工作方式与99.99.99.99.99一样。谢谢你,我已经接受了你对这个问题的回答。如果你可以使用假域名,例如:yourrealdomain-localhost.com。将此域添加到windows主机文件,并使其查找127.0.0.1,这样,您就可以在Google开发控制台中输入此域。@vee您的方法看起来不错。