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