谷歌应用域名作为OpenID提供者

5
  1. 我该如何让我的Google Apps域成为OpenID提供者?是否有文档、教程或可用的示例?

  2. 如何使用Google Apps域身份验证在我的应用程序中对用户进行身份验证(我指的是不使用OpenID)?我听说过关于gdata api的一些内容,但我不知道从哪里开始。是否有任何有用的教程或示例?

我想了解免费或开源的解决方案。

4个回答

6
您不必采取任何措施即可使您的 Google Apps 域成为 OpenID 提供者。但是,Google 专门为域名应用程序提供的 OpenID 服务需要 OpenID 支持方实现特殊(专有)发现机制,而大多数支持方尚未实现该机制,因此如果您正在针对该服务进行测试,则无法正常工作。
一种测试方法是前往使用 RPXNow 的 OpenID 支持方。RPX 是其中一个支持 Google 新发现机制的支持方,例如 jyte.com。请尝试在那里登录。

1
这已经不再是事实了。免费客户端不再获得OpenID,您需要明确启用它。从http://code.google.com/googleapps/domain/sso/openid_reference_implementation.html: “注意:联合登录服务默认情况下对Google Apps Premier和Education版本禁用。域管理员可以从控制面板中启用它,网址为http://www.google.com/a/cpanel/<your-domain>/SetupIdp。” - Leopd

4
关于问题1,我已经在过去几天里一直在处理。
在这里查看:如何将您的OpenId委派给Google Apps 看起来Google不允许委派,因此您不能仅将元信息放在文档标头中。我认为您必须创建一个名为yourdomain.com/.well-known/host-meta的文件,该文件指向Google服务器上的XRDS文件。 发现API页面有更好的解释。抱歉,这都是术语,但我不知道如何解释它。
要进行Google联合OpenID测试,请尝试:http://www.puffypoodles.com/ OpenID联合登录API的Google组中的委派问题得到了改善。
关于问题2,联合登录API提供OAuth功能,因此您可以获取用户信息并使用auth令牌等。请查看联合登录API。
希望这有所帮助。

3

0

很多人发布了关于OpenID的帖子,所以我来回答你的第二个问题。

ClientLogin是你需要的API。

http://code.google.com/googleapps/domain/gdata_provisioning_api_v2.0_developers_protocol.html#client_login

请注意,上面的链接来自配置 API 文档,但它并不依赖于访问配置 API,只是这些信息现在存储在那里。
有很多不同语言的示例。
注意事项:
  • 没有单点登录
  • 谷歌会不喜欢你(他们试图杀死 ClientLogin)
  • 你会偶尔遇到验证码失败,并需要处理这些问题

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接