OAuth 2.0學習(一)
阿新 • • 發佈:2019-03-11
mpi res 開發 關於 com 實踐 ont word 還需
一、認識OAuth2.0
是什麽:OAuth是一個關於授權的開放網絡標準
能做什麽:以安全的方式做數據的共享(第三方登錄授權)
二、OAuth2.0 四種授權模式
1. 授權碼(認證碼)模式 (Authorization code) response_type=code
2. 簡化(隱形)模式 (Impilict) response_type=token
3. 用戶名密碼模式 (Resource Owner Password Credential) grant_type=password
4. 客戶端模式 (Client Credential) grant_type=client_credential
OAuth2.0的核心既是取得access_token,四種授權模式殊途同歸,最終都是要取得access_token,只是路徑不同,參數不同
問題:什麽場景選擇哪種方式?
授權碼:第三方登錄授權
客戶端憑證:機器與機器之間
用戶名密碼:QQ和QQ音樂(都是一方的)
簡化:第三方共同開發
三、四種模式實踐
參考代碼地址https://github.com/spring2go/oauth2lab
1.授權碼模式授權服務器的測試
分析:授權碼模式的授權服務器需要授權服務和資源服務,還需要返回用戶的信息(domain和controller)
測試流程:
a.獲取授權碼
發送請求:主要是發送客戶端id
輸入賬號密碼登錄之後
會返回一個隨機code
b.獲取訪問令牌
發送請求攜帶 客戶端id及 secret密碼
驗證成功會獲取access_token
c.調用api
通過access_token能夠獲取響應的數據
OAuth 2.0學習(一)