OpenID简介
OpenID 是一个以用户为中心的数字身份识别框架,它具有开放、分散性。OpenID 的创建基于这样一个概念:我们可以通过 URI (又叫 URL 或网站地址)来认证一个网站的唯一身份,同理,我们也可以通过这种方式来作为用户的身份认证。
登录一个支持 OpenID 的网站非常简单(即便你是第一次访问这个网站也是一样)。只需要输入你注册号的 OpenID 用户名,然后你登录的网站会跳转到你的 OpenID 服务网站,在你的 OpenID 服务网站输入密码(或者其它需要填写的信息)验证通过后,你会回到登录的网站并且已经成功登录。OpenID 系统可以应用于所有需要身份验证的地方,既可以应用于单点登录系统,也可以用于共享敏感数据时的身份认证.
OpenId是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性。OpenId的创建是基于这样一个概念:我们可以通过URI(或者URL网址)来识别一个网站。同样,我们也可以通过这样的方式来识别一个用户的身份。OpenId系统的身份认证就是通过URI来认证用户身份。目前绝大部分网站都是通过用户名与密码来登录认证用户身份,这就要求大家在每个你要使用的网站上注册一个帐号。如果使用OpenId,你可以在一个提供OpenId的网站上注册一个OpenId,以后你可以使用这个OpenId去登录支持OpenId的网站。这正是一处注册,到处使用的体现。
1. 你首先得拥有一个合法的OpenID帐号,也就是说需要在一个验证服务器申请了一个帐号。
2. 你有了这个帐号之后,就可以在任何一个其他支持OpenID验证的网站,并且用你上面申请的OpenID进行登录
3. 因为这个网站并不知道你的身份是否正确,所以它会请求你的验证服务器对你的身份进行验证。
4. 验证服务器告诉网站说,你是合法用户
5. 网站接受你的身份,让你进入。
在生活中的例子大致可以是这样的:
1. 你在本国申请一个护照
2. 你周游列国时出示护照
3. 该国的出入境管理单位,根据你的护照信息,请求你所在国的出入境管理单位的验证
4. 所在国的出入境管理单位确认你的身份
5. 你可以在任何国家游览了
前景
光从技术角度来考量OpenID的前景时,我们都对他充满着信息,激情。OpenID的出现,确实很该用户友好的体验,更方便用户畅游互联网。但是,这只是技术上的考量。OpenID的最终用户是网民们。OpenID提出到现在,有多少人知道有OpenID的存在,甚至连身边的程序员们都很少知道,更不用说普普通通的网民们了。所以从技术化的东西到被大家所熟知的技术,OpenID还有很长的路要走。过去,国内也有不少技术人员对OpenID充满着激情,但是他们的激情是短暂的,或者不能称之为激情。总结起来,OpenID在以下某些方面还令人担忧。
一是:OpenID认知度太低,上面已解释过。
二是:密码安全度降低,只要OpenID的密码被泄露,基本上所有的网站都被泄露。这与"一处注册,到处使用"形成对应,即"一处泄露,到处泄露"。
三是:OpenID并非真正的Open,很多网站表面上支持OpenID,实际上,还是不断的骚扰OpenID用户,在他们网站上注册帐号,在背后偷偷的沉淀OpenID用户。所以,就目前来说,OpenID对于集团内各子公司用户体系的打通还是可行的,对于与外部公司是否使用OpenID还得谨慎点。
OAuth和OpenID的区别
OAuth关注的是authorization;而OpenID侧重的是authentication。从表面上看,这两个英文单词很容易混淆,但实际上,它们的含义有本质的区别:
authorization: n. 授权,认可;批准,委任
authentication: n. 证明;鉴定;证实
OAuth关注的是授权,即:“用户能做什么”;而OpenID关注的是证明,即:“用户是谁”。
OpenID是关于证明、证实身份(Authentication)的,好比火车站进站的时候拿出身份证和车票来看,比对是否同一个人。这是在回答「我是谁?这就是我」,是为了证实「这不是一个匿名的不可查的信息源头」,因为匿名对象和信息对网络服务商来说不好统计管理,也不利于产生价值。
OAuth 是关于授权、许可(Authorization)的,好比坐飞机过安检的时候除了看身份证,还要求掏出兜里的东西,拿出包里的东西、手机等随身物品以便检查,这时就需要得到被检查人的许可才行,被检查人有权利扭头就走,但要想登机,必须给予许可、掏出物品。这是在回答「我同意让你对我进一步做些什么」,是为了在被授予权限的前提下,更多的获取除了账号密码以外的个人信息,例如:联系人通讯录,邮箱号,电话号,地址,照片,聊天记录,网络发言、活动记录,GPS 信息等等,来满足用户对服务的功能需要,或者「其他需要」。
参考网址:
https://blog.csdn.net/hereweare2009/article/details/4014045
https://blog.csdn.net/xcjing/article/details/73826889
OpenID简介的更多相关文章
- Php OpenID
也许大家都有这样的经历与烦恼:当你为了使用某个网站的服务时(若你还没在该网站上注册过),你不得不先注册一个帐号.当你在一堆的网站上注册帐号后,你必需面临管理这些帐号的烦恼.也许你会这样考虑,不同网站注 ...
- OAuth和OpenID的区别(转)
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth协议为用户资源的授权提 ...
- OpenID协议
背景 当我们要使用一个网站的功能时,一般都需要注册想用的账号.现在的互联网应用很多,一段时间之后你会发现你注册了一堆账号密码,根本记不住. 你可能会想到所有的网站都用同一套用户名和密码,这样虽然能解决 ...
- 基于PHP的微信支付教程
微信支付作为各大移动支付方式之一,本课程只要向大家介绍并使用微信支付的常用功能,进而集合到已有的项目中去,希望各位能够快速上手并掌握实战"干货". 出处至:汇智网 hubwiz. ...
- 用ASOS建立自定义的OpenID 服务(一)-----------简介
翻译文章 原文地址 这一系列共包括9个部分,这是第一部分,下面是英文原文地址: Introduction Choosing the right flow(s) Registering the midd ...
- Identity Server 4 预备知识 -- OpenID Connect 简介
我之前的文章简单的介绍了OAuth 2.0 (在这里: https://www.cnblogs.com/cgzl/p/9221488.html), 还不是很全. 这篇文章我要介绍一下 OpenID C ...
- OAuth2、OpenID Connect简介
当我们在登录一些网站的时候,需要第三方的登录.比如,现在我们要登录简书https://www.jianshu.com/sign_in,我们使用微博登录,点击下方的一个微博的小按钮,就会出现这么一个地址 ...
- Identity Server 4 原理和实战(完结)_----选看 OpenId Connect 简介
Identity Procider:身份提供商
- 微信自定义菜单view类型获取openid访问网页
用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,但是view不能获取用户的openid,需与网页授权获取用户基本信息接口结合使用,获得用 ...
随机推荐
- 解决canvas图片getImageData,toDataURL跨域问题
图片服务器需要配置Access-Control-Allow-Origin 当需要需要对canvas图片进行getImageData()或toDataURL()操作的时候,跨域问题就出来了.图片服务器需 ...
- Ubuntu 18.04 系统 Update 后内核升级到5.0 导致 VMware Workstation 不正常工作
Ubuntu 18.04 系统升级后,发现内核从 4.18 升级到 5.0,从而导致 VMware Workstation 启动主动更新,但总会显示 vmmon 和 vmnet 俩模块编译失败. 感谢 ...
- FastDFS分布式图片服务器搭建
一:Fastdfs简介 1. 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统.FastDFS 为互联网量身定制, 充分考虑了冗余备份.负载均衡.线性扩容等机制,并注 ...
- JS特殊写法
记录下工作中碰到的JS特殊写法 (function(index) { $('#' + id).on("change", function() { me.onChange(this, ...
- CSS基础学习-14 CSS visibility与overflow属性
- python中sys.argv[]用法
sys.argv[]的作用: 在运行python文件的时候往文件里面传递参数. 从函数外部获取到变量值 import sys arg = sys.argv[0] args = sys.argv[:] ...
- @Valid与@Validated
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR- ...
- yum和rpm工具使用
rpm命令 rpm -ivh package 安装 rpm -e package 卸载 rpm -Uvh 升级,如果已安装老版本,则升级;如果没安装,则直接安装 rpm -Fvh 升级,如果已安装老版 ...
- [人物存档]【AI少女】【捏脸数据】精灵
AISChaF_20191101204710076.png
- mysql随机取出n条数据
SELECT * FROM tableName ORDER BY RAND() LIMIT n 数据量小的话还可以, 数据量大起来了, 就影响性能了. $rubbish = (new ...