我试图了解在项目中实现OpenID的概念和好处.而且,由于我是一名Java开发人员,我或多或少都对理解其主要的Java实现感兴趣openid4java.
我的理解是OpenID是以统一方式配置分散ID的标准.现在,如果完全(甚至略微)不正确,请纠正我!
假设我仍然在轨道上,我发现所有种类或组织都在使用OpenID,例如MySpace,他们使用URL匹配来识别每个用户http://www.myspace.com/username.
那么OpenID如何作为一个系统工作?它是否仅仅表现为"OpenID服务器"网络,与DNS机器一样,协调并确保其系统中的所有ID都是唯一的并且匹配某种模式?或者,它只是一种使用的算法,例如GUID,为每个客户端域(例如MySpace)生成全局唯一的ID.
我只是不了解OpenID实际上是如何表现出来的,以及像openid4java这样的框架如何与"表现形式"相提并论.(他们的用途是什么).
首先,OpenID 通信有两个方面:提供者和消费者。消费者是尝试使用 OpenID 进行身份验证的应用程序,而提供者是向其发送身份验证请求的服务器。
每个提供商都有一个所谓的端点 - 接受身份验证请求的 url。在支持 OpenID 提供商时,您应该提前知道该 URL。首先,您必须发现给定 openId 的端点是什么,然后与该提供者交换消息。这一切都包含在 openid4java 中ConsumerManager。
然后进行身份验证 - 您将用户重定向到提供商 url,用户确认他想要使用他的帐户登录(应该登录),然后提供商重定向回您,然后您可以获得有关所请求的信息用户(通过另一个请求)