面向Java Web应用程序的OpenID,第1部分 - 编程入门网
如何验证用户身份。在 OpenID 的运作过程中,作为编写代码的开发人员,我们感兴趣的是下面两个标识符:
用户提供的标识符 声明的标识符 顾名思义,用户提供的标识符是由用户提供给 RP 的标识符。用户提供的标识符必须被规范化 为声明的标识符,这只是将用户提供的标识符转化为标准形式的一种别出心裁的说法。然后可使用声明的标识符通过一个名为 discovery 的进程定位 OP,之后 OP 验证该用户身份。 OpenID 依赖方(RP) RP 通常由用户提供的标识符呈现,该标识符被规范化为声明的标识符。用户的浏览器(“用户代理”)将被重定向到 OP,这样用户便可以提供其密码并得到身份验证。 RP 不知道也不关心声明的标识符是如何获得验证的;它只想知道 OP 是否成功地验证了用户身份。如果验证成功,用户代理(也可能是用户的浏览器)会被转发到用户正试图访问的安全资源中。如果用户得不到验证,RP 会拒绝任何访问。 Open ID 提供者(OP) OP(OpenID 提供者)负责发出标识符并执行用户身份验证。OP 还提供基于 Web 的 OpenID 管理。OP 收集并保留每个用户的以下基本信息: 电子邮箱 全名 出生日期 邮编 国家 第一语言 当要求 OP 验证声明的标识符时,用户的浏览器直接转到登录页面,用户在该页面输入其密码。此时的控制权在于 OP。如果用户成功得到身份验证,OP 会将浏览器转到 RP 指定的位置(在一个特殊的 “return-to” URL 中)。如果用户不能进行身份验证,他可能会收到来自 OP 的消息,指出身份验证失败(至少对于两个流行的 OpenID 提供者 ClaimID 和 myOpenID 来说是这样的)。 面向Java Web应用程序的OpenID,第1部分(3)时间:2011-12-08 ibm J Steven Perry成为 OpenID 依赖方 现在我们了解了 OpenID 的主要组成部分,以及它们之间的协作方式。文章的其余部分将重点介绍如何使用开源 openid4java 库编写 OpenID 依赖方(RP)。 使用 OpenID 的第一步就是获取一个标识符。这很简单:只需转到 myOpenID 并单击 SIGN UP FOR AN OPENID 按钮即可。选择一个 OpenID,比如 redneckyogi 或 jstevenperry(顺便提一下,两个都是我的用户名)。登录窗体会告诉您所选用户名是否已存在。如果不存在,系统将指导您输入密码、电子邮箱,并在 JChaptcha 格式的文本框中输入一些文本(您不是一个机器人程序,对吧?)。 稍后,您会收到一封电子邮件,其中含有一个链接。单击链接确认电子邮箱,然后 — 恭喜您!— 您现在拥有自己的 OpenID 了! 当然,随着技术的不断发展,会有更多的 OPenID 提供者可供选择。 为表明获取一个 OpenID 有多么简单快捷,我在大约 30 分钟内用 myOpenID、Verisign 和 ClaimID 的帐户进行了登录。这个时间段也包括输入详细信息和上传图片所花费的时间。 您可能已经拥有 OpenID 据 OpenId.net统计,Google,Wordpress 和其他流行站点均支持 OpenID。如果您已经在这些站点上注册,那么您可能已经拥有一个 OpenID 了。 例如,如果您有一个 Yahoo! 帐户,但是还希望有一个 OpenID(我就是这样,我之前甚至不知道OpenID 是什么)。登录时您只需使用 Yahoo! ID 即可,Yahoo 是您的 OpenID 提供者。您使用 whatever@yahoo.com 提供基于 Yahoo 的 OpenID,然后 RP 会要求 Yahoo 对您进行身份验证(如果您运行本文附带的示例应用程序,您实际上可以看到这个过程)。 关于示例应用程序 正如我在文章开始所讲的,我使用 openid4java 编写了 Java Web 应用程序来创建简单的 OpenID 依赖方(RP)。这是个简单的应用程序,您可以构建该应用程序(WAR 形式),将其放入 Tomcat,然后从本地机器上运行。示例应用程序集中关注以下几步: 用户在注册页面输入其 OpenID。 应用程序验 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |