微服務統一認證,OAuth2 的認證流程


   隨着微服務的興起,OAuth2也火了起來,由於其自身的優勢,儼然已成為微服務API服務接口安全防護的首選。

微服務統一認證,OAuth2 的認證流程

 

啥是 OAuth2

  OAuth2(Open Authorization,開放授權)是OAuth的升級版本。OAuth 是一個開放標准,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯系人列表),而無需將用戶名和密碼提供給第三方應用。

  OAuth允許用戶提供一個令牌給第三方網站,一個令牌對應一個特定的第三方網站,同時該令牌只能在特定的時間內訪問特定的資源。

OAuth2 核心概念

OAuth 2.0 主要有4類角色:

resource owner:資源所有者,指終端的“用戶”(user)

resource server:資源服務器,即服務提供商存放受保護資源。訪問這些資源,需要獲得訪問令牌(access token)。

client:客戶端,代表向受保護資源進行資源請求的第三方應用程序。

authorization server: 授權服務器, 在驗證資源所有者並獲得授權成功后,將發放訪問令牌給客戶端。

 

授權的四種模式

  • 授權碼模式(authorization code)
  • 簡化模式(implicit)
  • 密碼模式(resource owner password credentials)
  • 客戶端模式(client credentials)

OAuth2 認證流程

微服務統一認證,OAuth2 的認證流程

 

  1. 用戶在第三方應用上點擊登錄,應用向認證服務器發送請求,說有用戶希望進行授權操作,同時說明自己是誰、用戶授權完成后的回調url。
  2. 認證服務器展示給用戶自己的授權界面。
  3. 用戶進行授權操作,認證服務器驗證成功后,生成一個授權編碼code,並跳轉到第三方的回調url。
  4. 第三方應用拿到code后,連同自己在平台上身份信息(ID密碼)發送給認證服務器,再一次進行驗證請求,說明自己的身份正確,並且用戶也已經授權我了,來換取訪問用戶資源的權限。
  5. 認證服務器對請求信息進行驗證,如果沒問題,就生成訪問資源服務器的令牌access_token,交給第三方應用。
  6. 第三方應用使用access_token向資源服務器請求資源。
  7. 資源服務器驗證access_token成功后返回響應資源。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM