我正在了解Google OAuth,它说我的项目没有适当的凭据。
因此,我进入开发者控制台并单击OAuth consent screen。我在他们的问题中输入域名:
授权域为了保护您和您的用户,Google仅允许 使用OAuth进行身份验证以使用授权域的应用程序。 您的应用程序的链接必须托管在授权域中。
我已经验证了我的域,但是得到的消息“必须是top private domain”。该链接将我带到某种Java编程语句。实际上,如果我再次单击“域验证”选项卡,则不会列出任何域名,但是我知道我已经添加了。
问:如何添加我的域以用于OAuth?我是否必须将其归类为“顶级私有域”,否则我会陷入困境吗?
答案 0 :(得分:5)
出于安全目的,Google oauth需要顶级域。顶级域名是.com .net .biz之前的第一个域名,换句话说,它只有一个点。还有.co.uk之类的例外。
子域受父域控制,不一定由您拥有或控制。假设您在domain.wordpress.com上拥有一个Wordpress帐户。 WordPress会关闭您的帐户,并将域恢复为非活动状态。另一个用户声明域用户和domain.wordpress.com。如果Google允许子域,他们将被迫相信新用户是您。 (因为不需要公开通知更改)
编辑(对评论进行更概括的说明。)
如果您拥有该域,则可以完全控制它,并且所有权记录是公开的。要在订阅许多服务时证明您作为域所有者的虚拟身份,需要DNS记录,该记录是由您创建的,作为提供者提出的挑战,提供者可以在创建服务之前读取该记录。如果所有权发生变化,原始索赔人(您)将收到一条新记录到提供的电子邮件地址,以添加到您的DNS服务器以证明您仍然拥有该域。如果您不能证明自己仍然拥有该名称的所有权,例如在域名劫持过期的情况下,所有服务都将被取消。
修改
最可能的问题是:您的域验证失败。
再次开始验证过程。这将为您提供一个新的TXT记录,以添加到您的DNS中。 转到您的DNS提供商页面并添加记录。在那儿寻找SOA记录上的刷新值。
将SOA刷新从几秒钟转换为几小时。除以3600。
等待该时间+ 4个小时进行复制。
使用nslookup(或挖掘)并查找TXT记录。确保使用8.8.8.8(server = 8.8.8.8)的Google DNS服务器。
如果未找到记录,请等待更多时间,如果(等待时间> 72)中断;否则重复检查。
如果nslookup能够找到记录,请完成验证过程;如果没有联系您的DNS提供商(client record hold可能是个问题)。
如果此时一切顺利,则您应该拥有一个授权域。
如果没有(域消失,请与Google支持联系),这与域上的隐私设置有关。大多数引用公共领域都有联系信息。
答案 1 :(得分:1)
您必须使用TLD(顶级域)。如果您有子域,则该子域由拥有TLD的人拥有。例如,您可能在myamazingblog.wordpress.com
拥有一个博客,并想对其使用OAuth。不幸的是,这不可能实现,因为您不拥有wordpress.com
(TLD)。
答案 2 :(得分:1)
尝试在其他设备上测试或清除缓存。
对于我来说,事实证明我的所有信息都是正确的(仅在example.com域中),但是我的iOS Safari浏览器正在缓存某些内容,并且一直向我发送“未列入白名单”的消息。这使我认为我也需要添加dev.example.com-不必要。
因此,请尝试使用其他设备或浏览器访问该网站,看看它是否有效。