Google Apps OpenID端点会出错,但带有Apps帐户的标准Google端点可以运行 - 有什么用?

时间:2013-02-11 01:18:37

标签: c# openid dotnetopenauth google-apps google-openid

我正在建立一个网站,组织中的人员可以使用其组织提供的Google Apps帐户登录。该网站使用DotNetOpenAuth的标准OpenID示例代码对Google OpenID提供商进行身份验证。

此Google Apps域上启用了OpenID,但当我尝试通过https://google.com/accounts/o8/site-xrds?hd=domain.com端点对用户进行身份验证时,出现以下错误:

  

发送直接消息或收到回复时出错。

但是,如果我使用标准https://www.google.com/accounts/o8/id端点并使用我的Google Apps帐户登录,则可以正常使用!

为什么相同的Google Apps帐户会产生两种不同的结果:一个端点有效,另一个端点无法正常验证?

1 个答案:

答案 0 :(得分:1)

Google Apps完全不遵循OpenID 2.0协议。它有一个专有的发现机制,DotNetOpenAuth默认情况下没有打开。

在OpenIdRelyingPartyWebForms项目的loginGoogleApps.aspx文件中查看the sample from SourceForge。您会看到其代码隐藏将Google Apps发现添加到OpenIdRelyingParty类。如果你这样做,我认为它也适合你。