OAuth是一种开放协议,允许通过桌面和Web应用程序以简单和标准的方法进行API身份验证。
OAuth是由BlaineCook、ChrisMessina、LarryHalff及DavidRecordon共同发起的,目的在于为API访问授权提供一个开放的标准。OAuth讨论组于2007年4月建立,以便向这个小组的实现者提供一种机构来编写协议草案。EranHammer-Lahav与Google的DeWittClinton在开发过程中做出了巨大的贡献。规范的1.0版于2007年12月4日发布。
OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如OpenAPI,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。
从高层次来看,OAuth按以下方式工作:
你的站点已与不同的验证服务供应商建立了关系。你共享一个密码短语或者公钥,这样你就能使用它访问web联系人。你根据验证服务供应商将用户重定向到登录页面。该用户登录然后告诉验证服务供应商你的站点访问其地址薄是没问题的。你可以进入本页的下载地址中下载各种开发语言对应的OAuth开发包,或者在本站搜索更多开发包。
评论