5
  1. 如何使我的Google Apps成为 OpenID 提供者。是否有任何文档、教程、工作示例?

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

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

4

4 回答 4

6

您无需执行任何操作即可使您的 Google Apps 域成为 openid 提供者。但是,Google 为域应用程序提供的特殊 OpenID 服务要求 OpenID 依赖方实施特殊(专有)发现机制,而大多数 RP [还没有]。因此,如果您对此进行测试,它将无法正常工作。

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

于 2009-07-30T05:51:51.790 回答
4

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

在此处查看:如何将 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 优点,因此您可以提取用户信息并使用身份验证令牌等。检查联合登录 API。

希望有帮助。

于 2009-08-05T17:45:51.923 回答
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

于 2009-07-29T22:33:01.590 回答
0

很多人发布了有关 OpenID 的信息,所以我将回答您的第二个问题。

ClientLogin 是您所追求的 API。

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

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

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

注意事项:

  • 没有单点登录
  • 谷歌会不喜欢你(他们试图杀死 ClientLogin)
  • 您会偶尔遇到验证码失败,需要处理这些问题
于 2011-07-05T09:36:56.510 回答