Google Apps域作为OpenID提供商

时间:2009-07-29 22:26:34

标签: openid gdata-api google-apps gdata

  1. 如何将 Google Apps 设为OpenID提供商。是否有任何文档,教程,工作示例?

  2. 如何使用Google Apps域身份验证在我自己的应用程序中对用户进行身份验证(我的意思是没有OpenID )。我听说这是关于gdata api的东西,但我不知道从哪里开始。是否有有用的教程howtos或工作示例?

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

4 个答案:

答案 0 :(得分:6)

您无需任何即可使您的Google Apps域成为开放式提供商。但是,Google针对域名应用程序的特殊OpenID服务要求OpenID依赖方实施特殊(专有)发现机制,而大多数RP尚未[尚未]。所以,如果你正在测试它,它将无法正常工作。

测试的一种方法是转到使用RPXNow的OpenID RP。 RPX是接受Google新发现机制的RP之一。例如,jyte.com。尝试登录。

答案 1 :(得分:4)

关于问题1,我过去几天一直在研究这个问题。

请在此处查看:How do you delegate your OpenId to Google Apps

Google似乎不允许委托,因此您不能将元信息放在文档的标题中。我相信您必须创建一个名为yourdomain.com/.well-known/host-meta的文件,该文件指向Google服务器上的XRDS文件。在the discovery API page上解释得更好。对不起,这都是行话,但我不知道如何解释它。

对于Google联合OpenID测试,请尝试:http://www.puffypoodles.com/

授权问题在the Google group for the OpenID federated login API中更好。

关于问题2,联合登录API提供OAuth优点,因此您可以提取用户信息并使用身份验证令牌等。检查联合登录API。

希望有所帮助。

答案 2 :(得分:3)

他们的OpenID联合登录服务看起来像是开始的地方。它基于OpenID,允许您让用户使用他们的Google Apps ID登录您的网站。看起来Google Apps标准版不支持它。

http://code.google.com/apis/apps/sso/openid_reference_implementation.html

还有单一登录框架,它不使用OpenID,这可能是#2的答案。

http://code.google.com/apis/apps/open_source_projects.html#sso

答案 3 :(得分:0)

很多人发布了关于OpenID的信息,所以我会回答你的第二个问题。

ClientLogin是您追求的API。

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

请注意,上面的链接来自配置API文档,但它不依赖于对配置API的访问,而是现在这个信息所在的位置。

那里有很多不同语言的例子。

警告:

  • 没有单点登录
  • Google会不喜欢你(他们试图杀死ClientLogin)
  • 你偶尔会遇到Captcha失败,需要处理那些