我正在尝试设置需要用户谷歌纵横信息的网络服务,因此我使用Google OAuth获取用户授权内容。
但是,当尝试在Google API控制台中为Web应用程序客户端ID设置重定向URI时,如果我尝试将其设置为“http:// PUBLIC_IP /”,则会收到错误消息。
我需要使用非本地用户进行测试(因此无法使用localhost),因此我想知道是否必须拥有一个Web域才能使用Google的OAuth。如果没有,我该如何解决这个问题?
答案 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