公共IP地址可以用作Google OAuth重定向URI吗?

时间:2013-01-09 15:28:40

标签: google-oauth

我正在尝试设置需要用户谷歌纵横信息的网络服务,因此我使用Google OAuth获取用户授权内容。

但是,当尝试在Google API控制台中为Web应用程序客户端ID设置重定向URI时,如果我尝试将其设置为“http:// PUBLIC_IP /”,则会收到错误消息。

我需要使用非本地用户进行测试(因此无法使用localhost),因此我想知道是否必须拥有一个Web域才能使用Google的OAuth。如果没有,我该如何解决这个问题?

8 个答案:

答案 0 :(得分:47)

目前不支持此功能。我提交了一项功能请求,并会更新进度。

答案 1 :(得分:31)

您可以使用xip.io来解决它。

例如:' 192.168.0.50.xip.io:3000'将解析为' 192.168.0.50:3000'

答案 2 :(得分:11)

我也遇到了这个问题,所以我输入了一个扩展名为.com的网址,并将其输入到我的/etc/hosts文件中。像魅力一样。

现在我的整个应用程序必须在显而易见的“现场”开发中完全糟糕。域虽然。

答案 3 :(得分:7)

我使用了我的公共主机名。如果您有静态IP地址,它会有所帮助。我使用http://www.displaymyhostname.com/来获取主机名。当我创建新的 Web应用程序客户端ID 时,我将其直接插入授权的JavaScript来源字段。

P.S。我的主机名看起来像这样:111.111.111.111.static.exetel.com.au

答案 4 :(得分:3)

是的,截至目前,您仍需要拥有一个域名才能在您的应用中使用Google OAuth。如果您拥有静态公共IP并且不想购买域名,则可以使用FreeDNS中的免费子域链接到您的公共IP。看起来使用Django应用程序可以很好地为我工作。

答案 5 :(得分:1)

回应 Breno 在回应他之前的评论时所说的话:

抱歉这里没有更新。基本的应用程序验证活动继续使基于 IP 地址的应用程序不太可能得到支持。这些验证活动对于防止滥用用户帐户是必要的。此外,自请求此功能以来,设置专用域的成本已显着降低。请在此处阅读有关可能选项的其他回复。

您可以详细了解 Google 的应用验证要求 [1] 和要求安全处理数据的 Google 政策 [2]。

[1] https://support.google.com/cloud/answer/9110914?hl=en

[2] https://developers.google.com/identity/protocols/oauth2/policies#secure-response-handling

答案 6 :(得分:0)

您可以使用动态DNS。我使用ddns.net提供免费解决方案。基本上,您输入您的FQDN:yourcompany.ddns.net作为您的域。当查找IP地址时,.net域指向ddns;当查找ddns.net时,它会在其数据库中查找您的公司,返回IP。所以我看起来像这样:https://wigwam.ddns.net一切正常。您不需要购买域名,您可以替换您已知的IP,Google也对此感到满意。

当然,您的IP必须是静态的。

答案 7 :(得分:-3)

尝试使用完整的服务器名称。

它来自MyPC / Properties ...类似于http://mypcname.mydomain.name:8080