开放授权

✍ dations ◷ 2024-12-23 10:59:23 #云端运算,网际协议,计算机访问控制协议

开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。

OAuth是OpenID的一个补充,但是完全不同的服务。

OAuth开始于2006年11月,当时布莱恩·库克(英语:Blaine Cook (programmer))正在开发Twitter的OpenID实现。与此同时,社交书签网站Ma.gnolia(英语:Gnolia)需要一个解决方案允许使用OpenID的成员授权Dashboard访问他们的服务。这样库克、克里斯·梅西纳(英语:Chris Messina (open source advocate))和来自Ma.gnolia的拉里·哈尔夫(Larry Halff)与戴维·雷科尔顿(英语:David Recordon)会面讨论在Twitter和Ma.gnolia API上使用OpenID进行委托授权。他们讨论得出结论,认为没有完成API访问委托的开放标准。

2007年4月,成立了OAuth讨论组,这个由实现者组成的小组撰写了一个开放协议的提议草案。来自Google的德维特·克林顿(英语:DeWitt Clinton)获悉OAuth项目后,表示他有兴趣支持这个工作。2007年7月,团队起草了最初的规范。随后,Eran Hammer-Lahav加入团队并协调了许多OAuth的稿件,创建了更为正式的规范。2007年10月, OAuth核心1.0最后的草案发布了。

2008年11月,在明尼阿波利斯举行的互联网工程任务组第73次会议上,举行了OAuth的BoF讨论将该协议纳入IETF做进一步的规范化工作。这个会议参加的人很多,关于正式地授权在IETF设立一个OAuth工作组这一议题得到了广泛的支持。

2010年4月,OAuth 1.0协议发表为RFC 5849,一个非正式RFC。

OAuth 2.0是OAuth协议的下一版本,但不向下兼容OAuth 1.0。OAuth 2.0关注客户端开发者的简易性,同时为Web应用、桌面应用、手机和智能设备提供专门的认证流程。

Facebook的新的Graph API只支持OAuth 2.0,Google在2011年3月也宣布Google API对OAuth 2.0的支持,Windows Live也支持OAuth 2.0。

2009年4月23日,OAuth宣告了一个1.0协议的安全漏洞。该漏洞影响了OAuth 1.0核心规范第6节的OAuth的认证流程(也称作3阶段OAuth)。于是,发布了OAuth Core协议1.0a版本来解决这一问题。

2014年5月,新加坡南洋理工大学一位名叫王晶(Wang Jing)的数学系博士生,发现了OAuth和OpenID开源登录工具的"隐蔽重定向漏洞"。该漏洞首先由CNET报道。腾讯QQ、新浪微博、阿里巴巴淘宝、支付宝、搜狐网、网易、人人网、开心网、亚马逊、微软Live、WordPress、eBay、PayPal、脸谱、谷歌、雅虎、领英、VK.com、Mail.Ru、Odnoklassniki.ru、GitHub等大量知名网站受影响。黑客可利用该漏洞给钓鱼网站“变装”,用知名大型网站链接引诱用户登录钓鱼网站,一旦用户访问钓鱼网站并成功登陆授权,黑客即可读取其在网站上存储的私密信息。该问题被凤凰网,网易,搜狐,太平洋电脑网,人民网,CSDN等大量中文网站报道。其实漏洞不是出现在OAuth这个协议本身,这个协议本身是没有问题的,之所以存在问题是因为各个厂商没有严格参照官方文档,只是实现了简版。问题的原因在于OAuth的提供方提供OAuth授权过程中没有对回调的URL进行校验,从而导致可以被赋值为非原定的回调URL,就可以导致跳转、XSS等问题,甚至在对回调URL进行了校验的情况可以被绕过。目前大部分被涉及的网站都已经修复该问题。

OpenID vs. pseudo-authentication using OAuth

相关

  • 圣何塞圣何塞(英语:San Jose;/ˌsæn hoʊˈzeɪ/),是美国加州旧金山湾区的一个城市。位于旧金山湾区南部、圣克拉拉县和硅谷境内,是在人口上加州的第三大城,仅次于洛杉矶和圣迭戈,并且在2
  • 代尔夫特坐标:52°00′54″N 4°21′24″E / 52.01500°N 4.35667°E / 52.01500; 4.35667代尔夫特(荷兰语:Delft,.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linu
  • 副粘病毒科副粘液病毒科包括二个亚科,副粘液病毒亚科(Paramyxivirinae)及肺炎病毒亚科(Pneumovirinae)。副粘液病毒亚科除已归类六属病毒外,还有尚未归类之马麻疹病毒属(Equine Morbilli
  • 王蓝王蓝(1922年9月3日-2003年10月9日),笔名果之,知名作家及艺术家,曾在原籍河北省阜城县当选为第一届国民大会代表。他的小说蓝与黑,描写抗战时期感人的烽火恋情,被誉为四大抗战小说之
  • 葡挞葡式蛋挞(葡萄牙语:pastel de nata“淡奶油(奶黄)糕点(葡萄牙语:Pastel (culinária))”或 pastel de Belém“贝伦区糕点(葡萄牙语:Pastel (culinária))”,复数形式分别为 pastéis d
  • 柏拉图立体在几何学中,凸正多面体,又称为柏拉图立体,是指各面都是全等的正多边形且每一个顶点所接的面数都是一样的凸多面体,是一种三维的正几何形状,符合这种特性的立体总共只有5种。在汉
  • 二乙基二硫代氨基甲酸钠二乙基二硫代氨基甲酸钠是一种有机硫化合物,化学式为NaS2CN(C2H5)2。这种盐可通过混合二硫化碳和二乙胺,并用氢氧化钠中和得到:其他的二硫代氨基甲酸盐也可以以相同的方式,通过
  • df (Unix)df(disk free 的缩写)是 Unix 系统的一条标准命令,用来展示用户(调用时所指定文件或文件系统)的可用磁盘空间。df 是用 statfs/statvfs 这两个系统调用实现的。df 的 Unix 规范命
  • 基塞尔基塞尔(爱沙尼亚语:kissell,芬兰语:kiisseli,Template:Lang-ltg,拉脱维亚语:ķīselis,立陶宛语:kisielius,波兰语:kisiel,俄语:кисель,,乌克兰语:кисiль)是一种用水果制作的甜点
  • 艺苑名人传《艺苑名人传》,全名《由契马布埃至当代最优秀的意大利建筑师、画家、雕刻家的生平》(),是严格意义上的西方第一本艺术史著作,作者是乔尔乔·瓦萨里,该书从13世纪佛罗伦萨画家契马