openid什么意思

当我们想要使用网站的功能时,通常需要注册我们想要使用的帐户 。所有网站都使用同一个用户名和密码,可以解决账号管理的问题,但也增加了账号密码泄露的风险 。
虽然现在的网站提供短信验证码登录技术,但是我们要讲一个“老”技术,——openid,看看以前的技术是如何解决密码太多不方便管理的问题的 。
基本概念
在正式介绍openid之前,先熟悉以下基本概念 。
认证:身份识别,简称认证,简单来说就是如何识别你是某人;
authorizationserver/identityprovider:负责认证的服务称为授*服务器或身份提供者(idp简称);
authorisation:资源访问,简称授*,就是简单的给某人一定的权限;
服务提供者/资源服务器:负责提供资源的服务(api调用)称为资源服务器或服务提供者,简称sp
与openid相关的几个概念
用户:网站访问者操作的浏览器
rp:依赖方;服务提供商是用户想要访问的网站 。
op:openid提供者;openid提供者是提供openid注册的服务提供者 。
openid简介
openid是由livejournal和sixapart开发的一套身份验证系统 。这是一个以用户为中心的数字识别框架,它是开放的、分散的和免费的 。
openid的创建是基于这样一个概念,即我们可以通过uri认证一个网站的唯*身份(也称为网址或网址) 。同样,我们也可以通过这种方式认证用户的身份 。不基于申请网站的注册程序,不限于单个网站的登录和使用 。openid账号可以在openid应用网站使用,避免了多次注册和填写身份信息的繁琐过程 。简单来说,openid是一个以用户为中心的分布式认证系统 。用户只需要注册就可以获得openid,然后就可以用这个openid账号在多个网站之间自由登录使用,而不必为每个网站注册一个账号 。
openid的工作流程
假设你已经在网站a上注册了openid账号(网站a是op角色),网站b(网站b是rp角色)支持openid账号登录,并且你从未登录过 。这时,当你在b网站对应的登录界面输入你的openid账号进行登录时,浏览器会自动转到a网站的一个页面进行认证 。此时,您只需输入在a网站注册时提供的密码即可登录a网站,在对b网站进行验证和管理(长期允许、只允许一次或不允许)后,页面将自动转移到b网站 。如果选择允许,就登陆b网站 。这时候你就可以实现b网站的所有功能作为你的openid账号了 。
上面描述了网站b使用网站a提供的openid登录,你也可以使用这个openid登录其他支持openid的网站 。
openid的获取流程
首先,用户选择一个openid服务提供商注册一个openid帐户(就像传统的网站注册一样) 。注册后,用户得到一个openidurl,比如http:/collinye.openid.com,可以简单理解为一个用户名 。
访问支持openid的网站 。登录时,输入您的openidurl 。通常这个登录页面的输入框会标上如上图的openid,然后登录即可 。
之后会跳转到你的openid服务商网站,要求你输入注册时填写的密码 。密码验证后,系统会询问您是否允许网站使用您的openid登录 。许可后会跳回原网站,显示登录成功,然后你就可以作为注册人访问网站了 。
认证流程
比较终用户请求登录rp网站,用户选择openid登录 。
rp向比较终用户返回openid的登录界面;
用户输入openid,rp网站标准化用户的openid 。这个过程比较复杂,因为openid可能是uri或者xri,所以标准化的方法不一样 。
rp和op相连;
rp请求op检查用户身份,op检查用户登录 。如果用户尚未登录,请要求用户进行登录身份验证 。
用户登录op,登录后查看rp请求什么信息 。如果没有资料,填写(http://www. sina.com/);