OpenID让网络身份变得真实而且诱人
2007-04-27 11:33
295 查看
当我坐下来听Verisign以及EastMedia的小伙子们讲述PIP(PersonalIdentificationProvider)和Rails整合的时候,我就爱上了OpenID这个想法,但是我从来没有真正的花时间来研究它。我是这么想的:“有多个帐号登录有多大事呀?”。对于大多数人来说,答案仍然是“没多大事”。但是我已经看到了OpenID应用的曙光。
昨天,我花了几个小时阅读了使用OpenID登录的细节,并且在Highrise里面将其实现。这个让我眼界打开。不光是认识到了OpenID作为另外一个登录方式是多么的简单,更重要的,我认识到了这个流程事实上是多么的合乎情理的。
是的,OpenID确实需要重新导向另外一个网站,但是只要你把一个站点的登录信息存储在OpenID里面,而且登录到你本机的PIP里面,你就再也不会看到重新导向了。一开始,这个可能看起来很可怕。不需要输入密码就可以登录到一个网站?但是再次提醒一下,这基本上和我通过SSHKeychain在世界上任何一个地点来获得我的应用程序服务器的授权,以及所有提供“rememberme”选项的网站基本相同。
这里仍然有一些问题需要解决。最主要的就是phishing诈骗的问题。但是聪明人都是在很勤奋工作的,我确定我们肯定会想到更聪明的解决方案。我不认为这个问题和其他的未知性会有足够的理由阻止OpenID的应用。
我们现在需要的就是采纳OpenID.幸运的是,OpenID看起来已经引起了很多新创业公司以及业界巨头的注意。在后面一类里面比较引人注目的就是AOL(美国在线)最近刚刚为每个AIM用户提供一个OpenID。每个帐号对应的OpenID链接就是http://openid.aol.com/<screenname>.这个解决方案的简单性就是让我今天开始实现OpenID功能的部分动力。不需要申请任何新东西就能使用OpenID有很大的作用,最起码方便它的起步。
让它变的简单到什么都不用做一样
现在我们理论上有几百万AIM的用户拥有了OpenID的帐号。太好了。现在他们只需要有一两个地方可以真正用到OpenID.这就是技术起到作用的地方。软件工具箱。也就是“让它变的简单到什么都不用一样”。虽然现在已经有很多为Ruby设计来实现这个功能的生成器,但是我总体上对生成器或者类似的需要学习如何使用或者设置规范的工具不大感冒。我更喜欢试着去找到一个简单到不费吹灰之力就可以使用的智能API。
今天我使用Ruby的第一个尝试被列在下面(没多久我就会把它封装成一个插件):
你额外需要做的就是实现successful_authentication这个负责创建会话和重新导向到这个应用的过程/函数;以及failed_authentication这个负责弹出提示错误的flash信息和重新导向到登陆界面。params[:name]这个参数既可以是一个常规的用户名,也可以是一个OpenID的用户名。我通过判断输入变量是否看着像URL(以http开头)来决定输入的是哪一种。底层的验证机制被委托给ruby-openid的类库。
这段代码仍然只是半成品。它只实现了授权的部分,而不是生成新帐号和获得额外属性的部分。但是它毕竟是一个开始,我为之而激动。
我真心相信OpenID有很大的可能性会变的真实而且使用,即使是对那些仅仅听到“授权”这个术语就要打哈欠的人。这个不会一夜就能发生,而且除了我们都加入进来,贡献自己的微薄之力,这一天肯定不会到来。今天这些实现的东西已经开了一个很好的头。同志们,少找借口,多干实事。
如果我这一番推销还不能让你对OpenID感兴趣,我推荐你去看ScottKveton的文章。然后去消化SimonWillison的关于OpenID的讲座以及他的“用OpenID实现六个酷功能”的文章。
如果这还不能打动你,那请考虑Firefox3将要自动带有对OpenID的支持,而且微软也在同一条船上。突然之间,一个OpenID在所有网站运用的未来变的非常的现实。
原文链接:http://www.loudthinking.com/arc/000604.html
昨天,我花了几个小时阅读了使用OpenID登录的细节,并且在
是的,OpenID确实需要重新导向另外一个网站,但是只要你把一个站点的登录信息存储在OpenID里面,而且登录到你本机的PIP里面,你就再也不会看到重新导向了。一开始,这个可能看起来很可怕。不需要输入密码就可以登录到一个网站?但是再次提醒一下,这基本上和我通过
这里仍然有一些问题需要解决。最主要的就是
我们现在需要的就是采纳OpenID.幸运的是,OpenID看起来已经引起了很多新创业公司以及业界巨头的注意。在后面一类里面比较引人注目的就是AOL(美国在线)最近刚刚为每个AIM用户提供一个OpenID。每个帐号对应的OpenID链接就是
让它变的简单到什么都不用做一样
现在我们理论上有几百万AIM的用户拥有了OpenID的帐号。太好了。现在他们只需要有一两个地方可以真正用到OpenID.这就是技术起到作用的地方。软件工具箱。也就是“让它变的简单到什么都不用一样”。虽然现在已经有很多为Ruby设计来实现这个功能的生成器,但是我总体上对生成器或者类似的需要学习如何使用或者设置规范的工具不大感冒。我更喜欢试着去找到一个简单到不费吹灰之力就可以使用的智能API。
今天我使用Ruby的第一个尝试被列在下面(没多久我就会把它封装成一个插件):
classSessionController<ApplicationController
includeOpenIdAuthentication
defcreate
ifopen_id?(params[:name])
open_id_authentication(params[:name])
else
password_authentication(params[:name],params[:password])
end
end
private
defpassword_authentication(name,password)
if@current_user=
@account.users.find_by_name_and_password(name,password)
successful_authentication
else
failed_authentication"Sorry,thatusername/passworddoesn'twork"
end
end
defopen_id_authentication(identity_url)
authenticate_with_open_id(identity_url)do|status,identity_url|
casestatus
when:missing
failed_authentication"Sorry,theOpenIDservercouldn'tbefound"
when:canceled
failed_authentication"OpenIDverificationwascanceled"
when:failed
failed_authentication"Sorry,theOpenIDverificationfailed"
when:successful
if@current_user=
@account.users.find_by_identity_url(identity_url)
successful_authentication
else
failed_authentication"Sorry,nouserbythatidentityURLexists"
end
end
end
end
end
你额外需要做的就是实现successful_authentication这个负责创建会话和重新导向到这个应用的过程/函数;以及failed_authentication这个负责弹出提示错误的flash信息和重新导向到登陆界面。params[:name]这个参数既可以是一个常规的用户名,也可以是一个OpenID的用户名。我通过判断输入变量是否看着像URL(以http开头)来决定输入的是哪一种。底层的验证机制被委托给
这段代码仍然只是半成品。它只实现了授权的部分,而不是生成新帐号和获得额外属性的部分。但是它毕竟是一个开始,我为之而激动。
我真心相信OpenID有很大的可能性会变的真实而且使用,即使是对那些仅仅听到“授权”这个术语就要打哈欠的人。这个不会一夜就能发生,而且除了我们都加入进来,贡献自己的微薄之力,这一天肯定不会到来。今天这些实现的东西已经开了一个很好的头。同志们,少找借口,多干实事。
如果我这一番推销还不能让你对OpenID感兴趣,我推荐你去看
如果这还不能打动你,那请考虑Firefox3将要自动带有对OpenID的支持,而且微软也在同一条船上。突然之间,一个OpenID在所有网站运用的未来变的非常的现实。
原文链接:
相关文章推荐
- 解决方法:远程计算机需要网络级别身份验证,而您的计算机不支持该验证
- 利用IPsec实现网络安全之五(Kerveros实现身份验证)
- 演示:让GNS+VMware组织的网络环境访问真实的Internet
- win7系统关闭“window安全网络身份验证”窗口的设置方法
- 28推,交流让网络推广变得很简单
- 天龙八部中的扫地僧的真实身份
- 一次真实的网络攻击取证纪实
- 真实女朋友和网络女朋友的对白[转]
- 安卓流氓应用破门而入,泄露机主真实身份
- SQL Server 2014忘记SA密码或禁用而且Windows身份验证也无法登录的解决办法
- DenseNet:更接近于真实神经网络的跨层连接
- 网络访问:本地账号的共享和安全模式设置身份验证后自动更改其他验证的处理方法
- 基于网络用户的身份认证----学习
- windows XP 支持网络级别身份验证(NLA)的远程桌面连接
- 网络恐怖袭击真实存在吗
- 如何在VSTS 2010 中自定义真实网络仿真
- 敌人的敌人是你的朋友,不能消灭你的敌人也是你的朋友,而且会使你变得更强!
- 真实网络环境下使用易邮搭建网络邮件服务器并测试通过
- 可悲:网络居然让某些人变得越来越愚蠢