openid什么意思(一起来了解微信的OpenID究竟是什么)

当我们要使用一个网站的功能时,一般都需要注册想用的账号。所有的网站都用同一套用户名和密码,这样虽然能解决账号管理的问题,但也加大了账号密码泄露的风险。

虽然,现在的网站有提供短信验证码登录技术,但是今天我们要聊的是一个比较“古老”的技术——OpenID,看看之前的技术是怎么解决密码太多不便于管理的问题的。

基础概念

在正式介绍OpenID之前,熟悉以下几个基础概念。

Authentication: 身份鉴别,简称认证,简单讲就是怎么鉴定你就是某个人;

Authorization Server/Identity Provider:把负责 认证的服务 称为 AuthorizationServer 或者 IdentityProvider,简称IDP;

Authorisation: 资源访问,简称授权,简单讲就是给某个人赋予某些权限;

Service Provider/Resource Server:把负责提供资源(API调用)的服务称为 ResourceServer 或者 ServiceProvider,简称 SP

OpenID相关的几个概念

User:网站访问者操作的浏览器

RP:Relying Party ;服务提供者,就是用户要访问的网站。

OP:OpenID Provider ;OpenID提供者,就是提供OpenID注册的服务商。

OpenID简介

OpenID 是由LiveJournal和SixApart开发的一套身份验证系统 ,是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性。

OpenID 的创建基于这样一个概念:我们可以通过 URI (又叫 URL 或网站地址)来认证一个网站的唯一身份,同理,我们也可以通过这种方式来作为用户的身份认证。它不基于某一应用网站的注册程序,而且不限制于单一网站的登录使用。OpenID帐号可以在任何OpenID应用网站使用,从而避免了多次注册、填写身份资料的繁琐过程。简单言之,OpenID就是一套以用户为中心的分散式身份验证系统,用户只需要注册获取OpenID之后,就可以凭借此OpenID帐号在多个网站之间自由登录使用,而不需要每上一个网站都需要注册帐号。

OpenID协议
 

OpenID的工作流程

假设你已经拥有一个在A网站(A网站就是OP角色)注册获得的OpenID帐号,B网站(B网站就是RP角色)支持OpenID帐号登录使用,而且你从未登录过。此时你在B网站的相应登录界面输入你的OpenID帐号进行登录的时候,浏览器会自动转向A网站的某个页面进行身份验证。这时你只要输入你在A网站注册时候提供的密码登录A网站,对B网站进行验证管理(永久允许、只允许一次或者不允许)后,页面又会自动转到B网站。如果你选择了允许,那就会登录进入B网站。这个时候你就可以以你的OpenID帐户身份实现B网站的所有功能。

上面描述了B网站使用A网站提供的OpenID进行登录,你也可以使用这个OpenId登录其他支持OpenID的网站。

OpenID的获取流程

首先用户选择一个OpenID 服务提供者,来注册 OpenID 帐号(跟传统的网站注册无异),注册后用户得到一个 OpenID网址(OpenID URL),如http:/collinye.openid.com ,可以简单的理解为用户名。

访问支持 OpenID 的网站,在登录时,输入你的 OpenID网址,通常此类登录页面的输入框会有如上图所示 OpenID 标志,然后点登录。

之后,会跳转你的OpenID 服务提供者的网站,并要求你输入注册时填写的密码,验证密码通过后会询问你是否允许该网站使用你的 OpenID 进行登录,经过允许后会跳转回原网站,并显示登录成功,之后你就可以以注册者的身份访问该网站。

认证流程

终端用户请求登录RP网站,用户选择了以OpenID方式来登录;

RP将OpenID的登录界面返回给终端用户;

用户输入OpenID,RP网站对用户的OpenID进行标准化,此过程比较复杂,因为OpenID可能是URI,也可能是XRI,所以标准化方式各不相同;

RP和OP进行连接;

RP请求OP对用户身份进行登录检查,OP对用户登录检查,如果用户还没有登录,请求用户进行登录认证;

用户登录OP、登录完检测RP请求哪些信息,如果没有需有用补填(OpenID主要负责认真,用户首次登陆注册可能还需要其他必要信息,可以在这个步骤补全 );

OpenID协议
 

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

OPENID优缺点

优点

对用户

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

一处注册,处处通行:免去记忆大量账号的麻烦,一个OpenID就在任何支持OpenID的网站自由登录。

OpenID协议
 

减少密码泄露风险:频繁登录各种网站,容易被垃圾网站暗地里收集密码和资料,或者冒充用户身份发送垃圾信息。

用户拥有账号信息控制权:根据对网站的信任程度,用户可以清楚的控制哪些profile信息可以被共享,例如姓名、地址、电话号码等。

对网站

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

已经有相当数量的高端注册用户可以直接使用,不必从零开始;

可以不负担自己建立会员系统或登录功能所需要的开发成本、机器、带宽、安全费用;

用户数据是安全的,用户数据不统一存储,用户可以任意选择、更换存储的server。没有组织,没有任何一个地方可以做root,没有任何一个机构或者个人能够从这里面获利。

缺点

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

如果提供OpenID验证服务的网站突然关闭的话,可能会导致大量用户无法使用多个网站的服务。

目前几乎所有支持OpenID的网站都很谨慎地将其做为一种可供选择的辅助登录方法,这会在很大程度上阻碍OpenID的发展。

目前支持OpenID的网站还不多,其独特的使用方法并不被多数用户所熟悉。

密码安全度降低,只要OpenID的密码被泄露,基本上所有的网站都被泄露。这与”一处注册,到处使用”形成对应,即”一处泄露,到处泄露”。

OpenID并非真正的Open,很多网站表面上支持OpenID,实际上,还是不断的骚扰OpenID用户,在他们网站上注册帐号,在背后偷偷的沉淀OpenID用户。所以,就目前来说,OpenID对于集团内各子公司用户体系的打通还是可行的,对于与外部公司是否使用OpenID还得谨慎点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 k0kaujt7@163.com 举报,一经查实,本站将立刻删除。
(0)

相关推荐

返回顶部