OAuth簡介

    Oauth的官方簡介是:隨着大量開放平臺的出現,創建在開放平臺之上的各類第三方應用也在大量冒出,出對安全性和統一標準的要求,因而出現了oauth協議web

    簡單來講,OAUTH是一種開放的協議,他能爲桌面程序或者基於BS的web應用提供一種簡單的標準方式去訪問須要用戶受權的API(ApplicationProgramming Interface)服務,並且任何第三方均可以使用OAUTH認證服務。在爲第三方提供服務的過程當中,他還能起到保護用戶帳號安全的做用安全

OpenID和OAuth的區別

      在項目開發中,咱們常常說認證和受權,常常把他們放到一塊兒去描述,那二者在本質上是有區別的,OpenID和OAuth就是咱們說的認證和受權。服務器

      OpenID:Authentication 認證加密

      OAuth :Authorization   受權spa

     簡單來講,咱們能夠認爲OAuth爲咱們解決「用戶能(想)作什麼」,是「WHAT」的問題,而OpenID則爲咱們驗證「用戶是誰」,是解決「WHO」的問題。對Oauth和OpenId的做用仍是有點抽象,就舉個例吧。CSDN使用QQ登陸,進入csdn的登陸頁,點擊使用QQ登陸,在進入到QQ登陸界面後,最開始是要請求認證,用戶輸入QQ號和密碼,點擊登陸,騰訊互聯會先進行驗證該用戶是否爲個人用戶,若是是個人用戶,那麼我會通知你(CSDN),他是個人用戶,你可使用該帳戶登陸你的系統,這個過程就是認證(Authentication),認證就是證實你是誰,你是不是真實存在的,這就是OpenID。token

      而在QQ受權登陸下方,有兩給CheckBox複選框,能夠容許CSDN得到您的暱稱、頭像、性別,這是在認證以後的事了,在騰訊互聯你是我平臺的用戶後,你能夠本身選擇CSDN是否有權去獲取你的相關信息,當你勾選後,騰訊互聯就把你的這些基本信息給了CSDN,這個過程就是受權(Authorization),受權就是肯定了你是誰後,又把屬於你的東西給了別人,這個就是OAuth。資源

OAuth1.0和OAuth2.0的區別

     OAuth有OAuth1.0和OAuth2.0兩個版本,兩個版本的區別以下:開發

  • auth1.0與Oauth2.0是相互不兼容的,因此他們爲咱們提供了不一樣的受權方式:

       2.0的用戶受權過程有3步:io

         A)用戶到受權服務器,請求受權,而後返回受權碼(AuthorizationCode)登錄

         B)客戶端由受權碼到受權服務器換取訪問令牌(access token)

         C)用訪問令牌去訪問獲得受權的資源、

       總結:獲取受權碼(Authorization Code)—>換取訪問令牌(access_token)—>訪問資源:

       1.0的受權分4步,

         A)客戶端到受權服務器請求一個受權令牌(requesttoken&secret)

         B)引導用戶到受權服務器請求受權

         C)用訪問令牌到受權服務器換取訪問令牌(accesstoken&secret)

         D)用訪問令牌去訪問獲得受權的資源

       總結:請求受權令牌(request token&secret)—>換取訪問令牌(access token&secret)—>訪問資源

  •  1.0協議每一個token都有一個加密,2.0則不須要。這樣來看1.0彷佛更加安全,可是2.0要求使用https協議,安全性也更高一籌。
  • 2.0充分考慮了客戶端的各類子態,於是提供了多種途徑獲取訪問令牌,有:受權碼、客戶端私有證書、資源擁有者密碼證書、刷新令牌等方式,並且驗證過程更爲簡潔。相比之下 1.0只有一個用戶受權流程。
相關文章
相關標籤/搜索