Google Oauth2.0网络应用程序的"授权重定向URI"必须以公共顶级域名(例如.com或.org)结尾?

GoT*_*Top 7 django oauth google-api oauth-2.0 google-api-python-client

Google Developers Console上创建Google API Oauth2.0凭据时,我选择"Web应用程序"应用程序类型.

在"授权重定向URI"字段中,我可以使用http://127.0.0.1/callback,它可以在本地开发中正常使用.

但是当我想在我的服务器上使用Google API Oauth2.0 Credentials(比方说99.99.99.99)时,我必须使用http://99.99.99.99/callback作为我的"授权重定向URI",但Google会给我一个警告:

无效重定向:http://99.99.99.99/callback必须以公共顶级域名(例如.com或.org)结尾

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

我在Django开发并使用oauth2client来处理Google API Oauth2,所以在我的数据库中有两个表"oauth2_authentication_credential","oauth2_authentication_flowmodel",其中包含凭据值,我将它们从我的localhost复制到服务器,但它没有'工作.

pol*_*art 13

"授权重定向URI"字段附近有帮助文本,明确指出您不能使用公共IP地址:

授权重定向URI

用于来自Web服务器的请求.这是用户在使用Google进行身份验证后重定向到的应用程序中的路径.该路径将附加用于访问的授权代码.必须有一个协议.不能包含URL片段或相对路径.不能是公共IP地址.

127.0.0.1不是公共IP,而是环回,这就是为什么http://127.0.0.1/callback工作正常.也可以使用localhost:http:// localhost/callback

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

您可以通过http://xip.io/使用免费DNS .所以对于IP 99.99.99.99使用http://99.99.99.99.xip.io/callback.它将被解决为http://99.99.99.99/callback.

  • 有保留的顶级域(https://tools.ietf.org/html/rfc2606)。因此,Google 应该允许这些域进行本地环境测试。这可以使事情变得容易得多。如何让谷歌知道? (2认同)