Openid托管服务RPX在ASP.NET中试用
看了一篇有关Openid托管服务RPX的文章,感觉登录速度并没有文章中说得那么慢,而且功能方面也可以满足一般的应用,于是也试用一下:
首先在RPX上面注册一个用户,注册时就会让你使用网站上的OpenID来登录。
注册后会显示:
Thanks! Now check your e-mail.
We sent the confirmation email to xxx@xxx.xxx
. If that is not the correct address, or you haven't gotten the email (even in your spam folder) after a few minutes, send another confirmation email.
让你去指定的邮箱中点击确认邮件中的地址。
确认后就把你带到了管理后台,你可以进行各项配置,比如增加网站,增加其它的登录模式,验证地址,回发参数等。你可以使用C#, Java, PHP, or Ruby on Rails等语言调用这个模块。默认的情况下只有Google,AOL,YAHOO和支持OPENID的网站,如果需要Facebook,MySpace,Windows Live则需要去该网站进行相关注册和操作才能开通,不过相对自己开发一套来说已经容易太多了。
RPX的工作方式:
后台有一项目APIKEY,注意保管好,这是向RPX取数据的凭证,不要泄露出去。
进入左边菜单的Quick Start Guide,跟着部署:
1:在你的网站中加入代码,有两种方式:弹出式和嵌入式。弹出式就是一个AJXA的POPUP,嵌入式则要引用一段IFRAME。
2:接收数据:通过验证网站上返回的token去rpx服务器中取用户信息。在设置中可以选择返回数据格式是使用JSON还是XML。要注意的是不同的Identity Provider返回的XML有些许不同,主要参数还是一样的。
加外网站还提供了Mappings的解决方案,使你可以判断出注册于不同网站的同一用户,我还不太清楚具体的使用流程,有兴趣的朋友可以拓荒一下:
试用的朋友可以到PHP版实现:
http://www.ruanyifeng.com/webapp/openid/rpx.php
或者C#版实现:
http://www.omgsoft.com.cn/Openid/Rpxtest.aspx
体验一下。
PS:openid可能会有这样那样的不足,但是本着为网民着想的立场,尽可能的避免用户到处注册的烦恼吧。
祝编程愉快!