IdentityServer4专题之二:OpenID介绍

1.基于概念浏览器

OpenId是一个以用户为中心的数字身份识别框架,它具备开放、分散、自由等特性。OpenId的建立是基于这样一个概念:咱们能够经过URI(或者URL网址)来识别一个网站。一样,咱们也能够经过这样的方式来识别一个用户的身份。OpenId系统的身份认证就是经过URI来认证用户身份。目前绝大部分网站都是经过用户名与密码来登陆认证用户身份,这就要求你们在每一个你要使用的网站上注册一个账号。若是使用OpenId,你能够在一个提供OpenId的网站上注册一个OpenId,之后你可使用这个OpenId去登陆支持OpenId的网站。这正是一处注册,处处使用的体现。安全

登陆一个支持 OpenID 的网站很是简单(即使你是第一次访问这个网站也是同样)。只须要输入你注册好的 OpenID 用户名,而后你登陆的网站会跳转到你的 OpenID 服务网站,在你的 OpenID 服务网站输入密码(或者其它须要填写的信息)验证经过后,你会回到登陆的网站而且已经成功登陆。 OpenID 系统能够应用于全部须要身份验证的地方,既能够应用于单点登陆系统,也能够用于共享敏感数据时的身份认证。 框架

除了一处注册处处通行之外,OpenID 给全部支持 OpenID 的网站带来了价值--共享用户资源。用户能够清楚的控制哪些信息能够被共享,例如姓名、地址、电话号码等。今天,OpenID 做为以用户为中心的身份验证系统已经为数百万的用户提供了服务。ide

2.OpenID相关术语网站

End User:终端用户,使用OP与RP的服务blog

Relying Party依赖方:简称RP,服务提供者,须要OP鉴权终端用户的身份dns

OpenID Provider:OpenID提供者,简称OP,对用户身份鉴权ip

Identifier标识符:标识符能够是一个HTTP、HTTPS或者XRI(可扩展的资源标识)资源

User-Agent:实现了HTTP1.1协议的用户浏览器字符串

OP Endpoint URL:OP鉴权的URL,提供给RP使用

OP Identifier:OP提供给终端用户的一个URI或者XRI,RP根据OP Identifier来解析出OP Endpoint URL与OP Version

User-Supplied Identifier:终端用户使用的ID,多是OP提供的OpenID,也能够是在RP注册的ID。RP能够根据User-Supplied Identifier来解析出OP Endpoint URL、OP Version与OP_Local Identifer

Claimed Identifier:终端用户声明本身身份的一个标志,能够是一个URI或者XRI

OP-Local Identifier:OP提供的局部ID

3、OpenID验证流程

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

RP将OpenId的登陆界面返回给终端用户

终端用户以OpenID登录RP网站

RP网站对用户的OpenID进行标准化,此过程很是负责。因为OpenID多是URI,也多是XRI,因此标准化方式各不相同。具体标准化过程是:若是OpenID以xri://、xri://$ip或者xri://$dns开头,先去掉这些符号;而后对以下的字符串进行判断,若是第一个字符是=、@、+、$、!,则视为标准的XRI,不然视为HTTP URL(若没有http,为其增长http://)。

RP发现OP,若是OpenId是XRI,就采用XRI解析,若是是URL,则用Yadis协议解析,若Yadis解析失败,则用Http发现。

RP跟OP创建一个关联。二者之间能够创建一个安全通道,用于传输信息并下降交互次数。

OP处理RP的关联请求

RP请求OP对用户身份进行鉴权

OP对用户鉴权,请求用户进行登陆认证

用户登陆OP

OP将鉴权结果返回给RP

RP对OP的结果进行分析

相关文章
相关标签/搜索