你應該知道的在文檔和對象模型中使用一些特定的術語:
OpenID Connect Provider (OP) 授權服務器
Thinktecture IdentityServer v3 是一個.NET 平台上開源的OpenID Connect 提供者 和 OAuth2 驗證服務器,OpenID Connect Provider在不同的著作中有不同的說法,你可能發現有的叫安全令牌服務提供商,授權服務器,ip-sts和更多。
簡單來說他們的共同點:為客戶端提供一塊安全令牌的軟件。
IdentityServer有許多職責和功能包括:
-
認證用戶使用本地帳戶存儲或通過外部標識提供者
-
提供會話管理和單點登錄
-
管理client和client授權
-
為客戶端頒發access token
-
驗證token
客戶端
客戶端是請求訪問IdentityServer或身份令牌的軟件。客戶端可以是不同類型的應用:桌面或移動的,基於瀏覽器的或基於服務器的應用。
無論客戶端是用於用戶認證還是訪問資源客戶端都必須在授權服務器中注冊。
用戶
用戶是使用一個注冊的客戶端訪問自己的數據的人。
作用域
作用域是一個客戶端要訪問的資源標識符。在一個認證過程或者獲取Token的時候需要把作用域附加在請求中。
默認情況下,每個客戶端可以在任何作用域請求令牌,但是你可以限制。
作用域分為2種:
身份作用域
請求一個用戶的身份信息(又叫做claims),他的名字或電子郵件地址被視為一個scope的OpenID connect。例如一個叫“profile”的scope包括名字、姓氏、首選用戶名,性別,照片和更多。你點擊這里可以閱讀有關作用域信息
並且你可以在identityserver模型中按你自己的要求創建自己的范圍。
資源作用域
Resource scopes 通常是 Web API的標識符 (也叫做資源服務器)。例如你可以創建一個名為“calendar”的resource scope 用來標識你的calendar API。
認證/令牌請求
客戶端請根據作用域從授權服務器請求令牌,授權服務器將返回一個身份令牌(identity token),一個訪問令牌(access token),或兩者都返回。
身份令牌(identity token)
一個身份令牌代表一個認證過程的結果。它包含在用戶的最低標識符(sub claim)。通過授權后它可以包含詳細的用戶附加信息。
訪問令牌(access token)
一個訪問令牌允許訪問一個資源。客戶端請求訪問令牌轉發他們的API。訪問令牌包含客戶端和用戶信息(如果存在的話)。API使用信息授權訪問他們的數據。