隨著網(wǎng)絡(luò)應(yīng)用和網(wǎng)站數(shù)量的發(fā)展,越來越多的站點(diǎn)依賴于分布式的服務(wù)和云計(jì)算,一次登錄,處處使用的認(rèn)證越來越需要。之前各大門戶網(wǎng)站有其“通行證”,例如網(wǎng)易通行證,一證通行所有網(wǎng)易的服務(wù)。而隨著網(wǎng)絡(luò)應(yīng)用類別以及其交叉越來越多,局限于某個(gè)網(wǎng)站的通行證已經(jīng)不再適應(yīng)潮流的發(fā)展和用戶的需要,用戶需要記憶網(wǎng)易通行證、新浪通行證、搜狐通行證等等,不方便。于是出現(xiàn)了類似于“人人連接”的服務(wù)。“人人網(wǎng)通過“人人連接”技術(shù)與土豆網(wǎng)、56網(wǎng)、有道、集合、天極網(wǎng)、課樂網(wǎng)、豆瓣等各大垂直領(lǐng)域網(wǎng)站全面連接。千橡集團(tuán)CEO陳一舟表示,只要有了“人人連接”,人人網(wǎng)不需要做內(nèi)容。”非常方便。人人連接還不開放,國(guó)產(chǎn)的東西都這樣。QQ,百度搜索API等好像也不開放。那么我們?cè)趺崔k呢?
其實(shí),已經(jīng)有了OpenID,而且目前應(yīng)用也還可以,包括Joomla!, Wordpress等都支持了OpenID,之前寫了一篇文檔介紹OpenID的現(xiàn)在找不到了。
今天要介紹的是另外一個(gè)技術(shù)OAuth (http://hueniverse.com/oauth/ )。
OAuth為用戶提供了一種可以不共享密碼而授權(quán)第三方來訪問其資源的方法。它超越了傳統(tǒng)的客戶機(jī)/服務(wù)器認(rèn)證的模型,客戶端的用戶使用信用證書來訪問服務(wù)器上的資源。OAuth為這種模型引入了一種新的第三方角色:資源所有者。在OAuth模型中,作為不是資源所有者的客戶端請(qǐng)求訪問在服務(wù)器上的資源,而資源的訪問權(quán)限是由資源所有者控制的??蛻舯仨毷紫认蛸Y源所有者申請(qǐng)?jiān)S可以便訪問這些資源,而這許可就以某種令牌的形式來匹配對(duì)私密信息的共享。
目前已經(jīng)有的一些業(yè)界協(xié)議包括Google AuthSub 、Yahoo BBAuth 、和Flickr API 等。而OAuth在很大程度上是從OpenID社區(qū)分出來的。在2006年11月Blaine Cook 為Twitter添加了OpenID的支持,在12月Chris Messina ,Blaine Cook ,David Recordon 等人在OpenID的會(huì)議上討論已存在的一些解決方案。研究了OpenID的已有功能和設(shè)計(jì)局限性以后,討論小組的基礎(chǔ)結(jié)論,需要一個(gè)API訪問控制的開放標(biāo)準(zhǔn),它不需要共享密碼也不需要獲知登錄信息,直接允許將OpenID等技術(shù)應(yīng)用于API調(diào)用中。這個(gè)想法就叫開放式認(rèn)證OpenAuth(類比于開放式標(biāo)識(shí)OpenID)。2007年4月成立了OpenAuth谷歌論壇(http://groups.google.com/group/openauth ),7月15日David Recordon將說明文檔整理成第一實(shí)用規(guī)范草稿(first real specification draft ),并于7月26日發(fā)布,8月28日發(fā)布了草稿0.9版本。目前版本是OAuth Core 1.0 Editor’s Cut ,并集成到draft-hammer-oauth ,且正在審查以便成為informational RFC。草案全文:http://tools.ietf.org/html/draft-hammer-oauth-10 。
OAuth規(guī)范包括兩部分。第一部分定義了基于重定向的瀏覽器對(duì)終端用戶進(jìn)行認(rèn)證的處理過程,以便授權(quán)客戶端訪問他們的資源。用戶直接通過服務(wù)器進(jìn)行認(rèn)證,而該規(guī)范指導(dǎo)服務(wù)器使用認(rèn)證方法為客戶端提供令牌。第二部分定義了進(jìn)行HTTP請(qǐng)求認(rèn)證所使用的兩個(gè)信用證書的集合,一個(gè)是識(shí)別發(fā)出請(qǐng)求的客戶,另外一個(gè)是標(biāo)識(shí)將授權(quán)請(qǐng)求的資源所有者。
OAuth 1.0協(xié)議規(guī)范的大綱包括:引言Introduction、基于重定向的授權(quán)Redirection-Based Authorization、授權(quán)的的請(qǐng)求Authenticated Requests、安全性考慮Security Considerations、和列出不同版本區(qū)別的附錄A。
Google Data API目前可以使用OAuth,詳見Using OAuth with the Google Data APIs (http://code.google.com/intl/en/apis/gdata/articles/oauth.html )
目前自己寫程序或者使用Google Data API應(yīng)用使用OAuth是沒有問題了,但是使用Wordpress和Joomla!等開源工具是否方便集成還需要進(jìn)一步探討。
聯(lián)系客服