跳至主要内容

OAuth 2.X

OAuth 2.0 是一個廣泛使用的授權框架,允許應用程式 (client) 在用戶或應用程式本身的名義獲得受保護資源的有限訪問。

在接下來的文章中,將會詳細描述 OAuth 定義的角色模型:

  1. Client
  2. Resource owner
  3. Authorization server
  4. Resource server

以及授權類型:

  1. 授權碼 (Authorization code grant)
  2. 客戶憑證類型 (Client credentials grant)
  3. 資源所有者密碼憑證類型(Resource Owner Password Credentials)
危險

由於隱式流程(Implicit grant) 在 OAuth 2.1 已經棄用,因此我們不會討論

具體來說,只需要釐清以下情況,授權的實作就會很明朗:

  1. 是第三方要存取我們的服務,還是服務之間要互相存取(Machine to Machine, M2M)
  2. 訪問控制模型要使用 RBAC 還是 ABAC
  3. 存取控制決定主體可以訪問哪些資源及他們可以對這些資源執行何種操作

在下一小節,將會從資源模型開始說明。