听闻OpenID好久了,但一直没具体看过它的原理,最近在准备一个互联网产品,周末想起来好好看看OpenID是否可以用。现将学习所得记录一下。
OpenID体系中的参与者和角色,OpenID登录过程中有三种角色:
- User:网站访问者操作的浏览器
- RP:Relying Party,用户要登录的网站
- OP:OpenID Provider,提供OpenID帐号的网站,验证用户名密码的一方。
- 举例:苍井空使用自己的Google帐号登录lixinyang.com。User是苍井空,RP是lixinyang.com,OP是Google.com
OpenID的登录过程,我不细讲了,下面三个图都是来说明的,直接上图。需要说明的是这个登录过程导致的几个问题:
- User/RP/OP三者间网络两两都需要联通,所以它们一定要在“墙”的同侧。中国特色的问题,谁让别人用的是internet,我们用的是chinternet。
- 用户登录过程中会看到OP的页面,总的来讲这导致用户很不习惯。也有些许好处 — 通过傍一个NB的大款来增加自己的可信性。(用户在登录lixinyang.com的过程中看到了Google登陆页)
- 一个登陆过程中User/RP/OP之间有七八次交互,而且经常横跨大洲,所以过程经常很慢。
- User似乎一定要是浏览器,而不能是自有客户端。(这条需要进一步调研)



android的app也可以通过类似这样的方式验证。不知道是OAuth还是OpenID,还是这两个是一个东西?你可以装一个豆瓣同城试试就知道了。
记下了,等我搞一个Android手机先。0Auth和OpenID不是一个东西,但经常被同时提到,据说二者不是互相替代的,有区别。我还没具体看0Auth,但调研了OpenID之后,对0Auth也没兴趣了。
新阳这两天没闲着啊,又在研究这么好玩儿的东西,我感觉很惭愧,坚定我限制阅读网络小说的决心。