OpenID和OAuth的区别
来源:互联网 发布:刘德华唱功知乎 编辑:程序博客网 时间:2024/06/05 14:07
我浏览一般网站时,特别是那些创业项目网站,除非能用OpenID登录,包括Google/Yahoo/Sina/Renren/QQ等,否则我一般不会去注册和登陆,太麻烦了。感觉OpenID这个东西很实用方便必要,如果我要做一个网站的话,一定把各种OpenID都给它加上。另外最近上新浪微博比较多,又接触了Oauth,这个东西能极好地延伸新浪微博的触角并帮创业者拓展空间。那么这个OpenID和OAuth是什么关系,有什么区别呢?我查询了一下资料,下面用大白话来描述和比较一下,希望我描写得准确。
OpenID中的三个人物
1、我
2、OSChina
拥有我的资源数据,包括我过去发的贴,我的博客,我的好友粉丝等
3、Yahoo
拥有我的身份信息,也就是我的Yahoo邮箱
OAuth中的三个人物
1、我
2、新浪微博上的第三方APP
3、新浪微博
(1) 拥有我的资源数据,包括我过去发的贴,我的博客,我的好友粉丝等
(2) 拥有我的身份信息,也就是我的新浪邮箱
OpenID的流程
我企图操作OSChina中我的资源数据,比如发贴
OSChina引导我到达Yahoo的身份认证页面
我在Yahoo完成身份认证
Yahoo转告OSChina我是Yahoo邮箱的主人
Yahoo引导我返回OSChina
OSChina允许我发帖
所谓的“我”是本次登录生成的Cookie之类,也即认可了这个Cookie等同于Yahoo邮箱的主人
OAuth的流程
我企图使用新浪微博上一个第三方APP,该APP可以帮助我整理和统计我在新浪微博上的粉丝
APP引导我到达新浪微博身份认证页面
我在新浪微博完成身份认证
新浪微博给该APP一份许可书,上写“可以读取某某人的资源数据”,即该APP可以读取我在新浪微博上的资源数据
新浪微博引导我返回APP
我操作APP,APP在后台和新浪微博联系,读取和操作我的资源数据
简而言之,OpenID就是用Yahoo账号或Google账号访问其他网站,OAuth就是授权给第三方。
注意,OAuths其实已经包括了OpenID,因为“我通过新浪微博授权第三方”就包含向第三方验证我的新浪微博帐号,超过OpenID,我还授权第三方访问和操作我的新浪微博数据。
实际应用中常有这样的情形,比如:使用新浪微博帐号访问虾米网站。这原本OpenID就足够,也即证明自己是新浪微博用户即可,但往往使用了OAuths机制,也即虾米网站还能获取或操作我的新浪微博了,这是为什么?我个人认为这里是商业上的一种潜规则,利用用户对此的不了解,暗暗地获取了用户的授权。可以想象,虾米网可以掌握我的新浪微博关注,甚至可能在微博上发帖推广等等,好处无疑是很多的。
这里有一些很好的讨论:http://www.zhihu.com/question/19628327
OpenID中的三个人物
1、我
2、OSChina
拥有我的资源数据,包括我过去发的贴,我的博客,我的好友粉丝等
3、Yahoo
拥有我的身份信息,也就是我的Yahoo邮箱
OAuth中的三个人物
1、我
2、新浪微博上的第三方APP
3、新浪微博
(1) 拥有我的资源数据,包括我过去发的贴,我的博客,我的好友粉丝等
(2) 拥有我的身份信息,也就是我的新浪邮箱
OpenID的流程
我企图操作OSChina中我的资源数据,比如发贴
OSChina引导我到达Yahoo的身份认证页面
我在Yahoo完成身份认证
Yahoo转告OSChina我是Yahoo邮箱的主人
Yahoo引导我返回OSChina
OSChina允许我发帖
所谓的“我”是本次登录生成的Cookie之类,也即认可了这个Cookie等同于Yahoo邮箱的主人
OAuth的流程
我企图使用新浪微博上一个第三方APP,该APP可以帮助我整理和统计我在新浪微博上的粉丝
APP引导我到达新浪微博身份认证页面
我在新浪微博完成身份认证
新浪微博给该APP一份许可书,上写“可以读取某某人的资源数据”,即该APP可以读取我在新浪微博上的资源数据
新浪微博引导我返回APP
我操作APP,APP在后台和新浪微博联系,读取和操作我的资源数据
简而言之,OpenID就是用Yahoo账号或Google账号访问其他网站,OAuth就是授权给第三方。
BTW,现在写东西非常习惯用缩进了,可能我该钻一下Python。
注意,OAuths其实已经包括了OpenID,因为“我通过新浪微博授权第三方”就包含向第三方验证我的新浪微博帐号,超过OpenID,我还授权第三方访问和操作我的新浪微博数据。
实际应用中常有这样的情形,比如:使用新浪微博帐号访问虾米网站。这原本OpenID就足够,也即证明自己是新浪微博用户即可,但往往使用了OAuths机制,也即虾米网站还能获取或操作我的新浪微博了,这是为什么?我个人认为这里是商业上的一种潜规则,利用用户对此的不了解,暗暗地获取了用户的授权。可以想象,虾米网可以掌握我的新浪微博关注,甚至可能在微博上发帖推广等等,好处无疑是很多的。
这里有一些很好的讨论:http://www.zhihu.com/question/19628327
- OpenID和OAuth的区别
- OAuth和OpenID的区别
- OAuth和OpenID的区别
- OAuth和OpenID的区别
- OpenID和OAuth的区别
- OAuth和OpenID区别
- OpenID及其原理介绍,OAuth和OpenID的区别
- 转OAuth与OpenID的区别和联系
- OpenID 和 OAuth 有什么区别?
- OpenID和OAuth的区别及第三方登录的安全隐患分析
- OpenID流程概述及其与OAuth的区别
- OpenID流程概述及其与OAuth的区别
- OpenID流程概述及其与OAuth的区别
- cas sso oauth openid saml的联系与区别
- IdentityServer4 实现 OpenID Connect 和 OAuth 2.0
- Google OAUTH + OpenID解决方案
- Google OAUTH + OpenID解决方案
- Oauth和Oauth2.0的区别
- androidxml文件解析
- 一个计算机爱好者的不完整回忆(四)
- C++类的定义之作用域
- 2012百度之星E题
- 上传组件 uploadify 导致在firefox下 session 不一致问题 ie正常
- OpenID和OAuth的区别
- Linux设备驱动的编写与安装过程
- android 2.3 4.0 添加开机音乐
- uboot启动参数设置和内核引导方法总结
- HTTP/FTP客户端开发库:libwww、libcurl、libfetch 以及更多
- WPF详解2.0-WPF布局面板
- 走几步回头看看企业即时通讯
- Linux-C实现GPRS模块发送短信 作者:冯建
- VS2010 下C#调用与整合python函数