OAuth2學習目錄


0、OAuth2解決的問題域和場景

  • 開放系統間的授權:社交聯合登錄、開放平台。
  • web頁面、原生app、微服務和API間調用。
  • 企業內部應用認證授權(IAM/SSO)。

1、白話OAuth2

  • 什么是OAuth2:是一種認證授權機制。
  • 資源擁有者、客戶應用、資源、授權服務器。
    • 授權服務器:生成、頒發access_token。
    • 客戶端應用:使用access_token來訪問用戶資源。

2、OAuth2的定義

  • OAuth2是一種授權框架,不是一種認證協議,僅用於授權代理
  • OAuth不支持Http以外的協議
  • OAuth並不是一個認證協議
  • OAuth並沒有定義授權處理機制
  • OAuth並沒有定義token格式
  • OAuth2.0並沒有定義加密方法
  • OAuth2.0並不是單個認證協議,是一組協議。

OAuth本質:如何獲取token、如何使用token

OAuth是一種在系統間的代理授權

OAuth使用代理協議的方式解決密碼共享的反模式問題。

OAuth提供一個寬泛的協議框架,具體的安全場景需要定制。

 

3、OAuth2有哪些典型模式

  • 授權碼模式:
  • 簡化模式
  • 密碼模式
    • 使用用戶名密碼登錄的應用,例如桌面app、手機app。
    • 使用用戶名密碼作為授權方式,從授權服務器上獲取access_token。
    • 一般不支持refresh_token
    • 假定資源擁有者和公開客戶在相同設備上。
  • 客戶端模式:主要用於機器間的調用。

(當token失效之后,可以用refresh_token獲取新的access_token)

4、OAuth2模式如何選型

客戶端的類型:

  • 公開:原生app 、web app用戶直接接觸的應用
  • 私密:服務之間的調用,非用戶直接操作的。

選型流程:

 


免責聲明!

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



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