OpenID Architecture for Java



我试图了解在您的项目中实现OpenID的概念和好处。而且,由于我是一名Java开发人员,我或多或少对理解它的主要Java实现openid4java同样感兴趣。

我的理解是OpenID是以统一的方式提供分散id的标准。现在,如果这完全(或甚至稍微)不正确,请纠正我!

假设我仍然在轨道上,我看到所有种类或组织都在使用OpenID,例如MySpace,他们用一个匹配http://www.myspace.com/username的URL来标识每个用户。

那么OpenID作为一个系统是如何工作的呢?它只是表现为一个"OpenID服务器"网络,就像DNS机器一样,协调并确保系统中的所有id都是唯一的,并匹配特定的模式?或者,它只是一个算法被使用,像GUID,产生全局唯一的id为每个客户端域(如MySpace)。

我只是不理解OpenID实际上是如何表现自己的,以及像openid4java这样的框架是如何与这种"表现"交互的。(它们的用途)

首先,OpenID通信有两个方面——提供者和消费者。消费者是尝试使用OpenID进行身份验证的应用程序,提供者是向其发送身份验证请求的服务器。

每个提供者都有一个接受身份验证请求的端点url。在支持OpenID提供程序时,您应该提前知道该URL。首先,您必须发现给定openId的端点是什么,然后与该提供者交换消息。这些都封装在openid4java ConsumerManager中。

然后发生身份验证-您将用户重定向到提供者url,用户确认他想使用他的帐户登录(应该登录),然后提供者重定向回您,然后您可以获得请求的有关用户的信息(通过另一个请求)

最新更新