我特别感兴趣的是对声明的ID的验证,Google的说明谈到了从声明的ID中的域中检索元数据,它将包含一个指向XRDS文档的链接。对于google应用程序,可以在以下位置找到元文件
http://example.com/.well-known/host-meta或https://www.google.com/accounts/o8/.well-known/host-meta?hd=example.com
我的问题是,这两个主机-元路径都是对规范的google增强,还是只有后者?我们正在尝试更新一个标准的open-id库来正确地支持这一点,并且我们希望将支持google增强的代码适当地分开。
我似乎在open-id规范文件中找不到任何对".well-known/host-meta“的引用。
发布于 2011-12-17 06:46:08
协议本身基本上是标准的--例如,/.well-known/host-meta是用于发现的LRDD规范的一部分。谷歌应用程序的陷阱与这样一个事实有关,即很少有域名托管自己的发现信息,因此尝试发现像example.com这样的域名的提供商将会失败。因此,谷歌为主机提供了一个备用位置-元文件,希望支持谷歌应用程序的OpenID RP需要注意这一点。
此外,如果您要验证这些外包XRDS文件上的签名,则需要允许hosted-id.google.com作为有效的签名者。通常,您会检查签名证书主题是否与您正在查找的域名相同,但由于Google代表目标域名进行签名,因此需要进行额外的检查。
在相关的注释中,Google Apps支持已经被添加到一堆不同的库中,无论是直接还是通过附加组件:
PHP: php-openid + http://code.google.com/p/php-openid-apps-discovery/
Ruby: ruby-openid + http://code.google.com/p/ruby-openid-apps-discovery/
.NET: DotNetOpenAuth (内置)
Java: OpenID4Java + http://code.google.com/p/step2
https://stackoverflow.com/questions/8525413
复制相似问题