openid什么意思

当我们想要使用网站的功能时,通常需要注册我们想要使用的帐户。所有网站都使用同一个用户名和密码,可以解决账号管理的问题,但也增加了账号密码泄露的风险。

虽然现在的网站提供短信验证码登录技术,但是我们要讲一个“老”技术,——openid,看看以前的技术是如何解决密码太多不方便管理的问题的。

基本概念

在正式介绍openid之前,先熟悉以下基本概念。

认证:身份识别,简称认证,简单来说就是如何识别你是某人;

authorizationserver/identity provider:负责认证的服务称为授*服务器或身份提供者(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帐户(就像传统的网站注册一样)。注册后,用户得到一个openid url,比如http:/collinye.openid.com,可以简单理解为一个用户名。

访问支持openid的网站。登录时,输入您的openid url。通常这个登录页面的输入框会标上如上图的openid,然后登录即可。

之后会跳转到你的openid服务商网站,要求你输入注册时填写的密码。密码验证后,系统会询问您是否允许网站使用您的openid登录。许可后会跳回原网站,显示登录成功,然后你就可以作为注册人访问网站了。

认证流程

比较终用户请求登录rp网站,用户选择openid登录。

rp向比较终用户返回openid的登录界面;

用户输入openid,rp网站标准化用户的openid。这个过程比较复杂,因为openid可能是uri或者xri,所以标准化的方法不一样。

rp和op相连;

rp请求op检查用户身份,op检查用户登录。如果用户尚未登录,请要求用户进行登录身份验证。

用户登录op,登录后查看rp请求什么信息。如果没有资料,填写(http://www . sina.com/);

op将登录结果返回给rp,rp对op的结果进行分析,rp分析后,如果用户合法,则返回用户已经成功登录,可以使用rp服务。

openid优缺点

openid主要负责认真,用户登陆注册可能还需要其他必要信息,可以在这个步骤补全

优点

简化注册和登录流程:一定程度上避免了重复注册和填写身份信息的繁琐过程,不需要通过注册邮件确认,登录更快。

一次注册,无处不在:省去记忆大量账号的麻烦,一个openid可以在支持openid的网站上自由登录。

降低密码泄露风险:频繁登录各种网站,很容易让垃圾网站偷偷收集密码和信息,或者以用户身份发送垃圾信息。

用户拥有账户信息的控制权:根据网站的信任程度,用户可以明确控制哪些档案信息可以共享,如姓名、地址、电话号码等。

对用户

共享用户资源给所有支持openid的网站带来价值。

相当一部分高端注册用户可以直接使用,无需从头开始;

你不必承担构建自己的会员系统或登录功能所需的开发成本、机器、带宽和安全成本;

用户数据是安全的,用户数据不是统一存储的,用户可以随意选择和更改存储的服务器。没有组织,地方都无法生根,机构和个人都无法从中获利。

劣势

人都可以建立一个网站来提供openid验证服务,但是网站的性能参差不齐,导致openid验证过程不稳定。

如果提供openid认证服务的网站突然关闭,大量用户可能无法使用多个网站的服务。

目前几乎所有支持openid的网站都非常谨慎地将其作为可选的辅助登录方式,这将在很大程度上阻碍openid的发展。

目前支持openid的网站不多,其独特的用法也不为大多数用户所熟悉。

密码安全性降低。只要openid密码泄露,几乎所有网站都会泄露。这对应的是“一个登记,处处用”,即“一漏,处处漏”。

openid并不是真正的开放。很多网站表面上都支持openid。其实他们不断骚扰openid用户,在自己的网站上注册账号,在背后暗中沉淀openid用户。所以,目前开放集团内部各子公司的用户系统,openid还是可行的,对于是否对外公司使用openid,要慎重。