個人對OAUTH1.0簡單理解
阿新 • • 發佈:2018-08-06
arch 開放 html 第三方 proc details ref 分享 RoCE 我畫了一個簡單的圖來了解一下OAUTH1.0請求的交互過程,附圖如下:
簡單解釋一下:OAuth1.0是基於http實現,為了交互的安全性設計上看起來會稍微復雜,OAuth1.0獲得的access_token有效期時間比較長,有安全隱患。具體可以參考一下文章:第三方登錄access token過期問題和ACCESS_TOKEN與FRESH_TOKEN
解釋一下應用場景是參與者:
OAuth1.0模擬過程:
簡單解釋一下:OAuth1.0是基於http實現,為了交互的安全性設計上看起來會稍微復雜,OAuth1.0獲得的access_token有效期時間比較長,有安全隱患。具體可以參考一下文章:第三方登錄access token過期問題和ACCESS_TOKEN與FRESH_TOKEN
- 客戶端:訪問你應用網站的用戶和瀏覽器
- 服務端:你的應用功能服務器
- 授權端:用戶賬戶等資源所在的服務器
用戶想通過可信的授權端賬戶登錄並且使用你的服務器功能,但是為了安全起見又不想直接通過授權服務器的賬號密碼去登錄你的服務,此時就要用到OAuth授權認證服務來實現。
- WEB註冊會獲得appkey和secret
- CLIENT請求WEB
- WEB請求request_token(API:/oauth/request_token)
- SERVER生產request_token和request_secret存儲並返回
- WEB申請SERVER授權(API:/oauth/authorize)
- SERVER重定向CLIENT去SERVER認證授權頁面
- CLIENT認證授權到SERVER
- SERVER生成將oauth_verifier後將request_token和用戶ID,應用ID,驗證碼oauth_verifier進行映射,並存儲之後重定向到WEB
- WEB通過前面獲取的oauth_verifier以及secret,request_secret等來請求access_token
- SERVER校驗前面的參數,生成access_token和access_token_secret,然後將access_token,access_token_secret,用戶ID,應用ID進行映射,並存在服務器數據庫(長期有效)
- WEB獲得並存儲access_token等,然後通過access_token等向SERVER請求用戶openId或者其他的用戶信息
- WEB獲得用戶信息重定向用戶去主頁或者指定頁面...
具體參考鏈接:開放平臺_OAuth1.0
個人對OAUTH1.0簡單理解