OpenID 认证概述
OpenID 是开放式标准,使用户能够向多个实体认证这些用户本身,而不必管理多个帐户或多组凭证。 WebSphere® Application Server 支持 OpenID 2.0,并在 Web 单点登录中充当依赖方 (RP) 角色。
术语
- OpenID 标识:
- 属于 OpenID 提供者或用户的 http URL、https URL 或可扩展资源标识符 (XRI)。
- OpenID 提供者 (OP):
- 可验证用户是否控制唯一标识的 OpenID 认证服务器。
- 依赖方 (RP):
- 一个实体,需要用户控制唯一标识的证明。
概述
要访问各种实体(例如 Web 站点)通常需要与每个实体关联的唯一帐户。 OpenID 使由 OpenID 提供者处理的单组凭证能够授予对支持 OpenID 的任何数目的实体的访问权限。
当用户必须登录到支持 OpenID 并充当依赖方的实体(例如,Web 站点)时,用户通过直接与 OpenID 提供者交互而不是向 RP 提供其凭证来进行认证。 OpenID 提供者会验证用户的身份并将认证确认发送回 RP。 当从 OpenID 提供者接收到此确认时,RP 会将该用户作为已认证用户接受。 典型的 OpenID 认证流如以下图形中所示。

- 用户会尝试访问受保护的资源(例如,Web 页面)。
- RP (此示例中的WebSphere Application Server) 显示受保护资源的表单登录页面。
- 用户输入 OpenID 标识。
- RP 获取用户标识并将用户重定向至相应的 OpenID 提供者。
- OpenID 提供者提示用户提供凭证。
- 用户为与 OpenID 提供者关联的帐户输入凭证。
- OpenID 提供者会对用户进行认证,并且(可选)提示用户批准或拒绝向 RP 提供用户信息。 然后,它会将用户重定向回 RP 并提供认证结果。
如果 OpenID 提供者认证成功,那么 RP 会尝试对用户进行授权。 如果授权成功,那么 RP 会与用户建立已认证的会话。
OpenID 有助于将错误处理用户凭证或敏感信息的机会降至最低。 借助 OpenID,仅通过 OpenID 提供者交换用户的凭证。 除了 OpenID 提供者之外的任何 Web 站点都看不到用户的凭证。 OpenID 会减少泄露用户身份的无原则或不安全 Web 站点的几率。 用户还会控制与用户访问的 Web 站点共享的个人信息量。 例如,用户可在选择不向另一 Web 站点提供其电子邮件地址(或根本不提供任何信息)的同时,允许与一个 Web 站点共享与其 OpenID 帐户关联的名称和电子邮件地址。
OpenID 2.0 已声明的标识应该用于依据规范来标识用户。 但是,已声明的标识不是用户友好标识,并且许多依赖方选择其中一个 OpenID 属性来表示用户。 用于表示用户最常用属性是用户的电子邮件地址。 有关标识用户的更多信息,请参阅 标识 OpenID Authentication 2.0 文档的 "最终用户" 部分
众所周知,OpenID 提供程序可能无法充分验证某些 OpenID 属性(包括电子邮件)。 如果不相信或不知道提供程序会向您提供已验证的电子邮件地址,那么您不能使用该提供程序的电子邮件作为 WebSphere Application Server 中已认证用户名称。