安全性權杖

集中式身分識別提供者特別適用于擁有不一定從商業網路登入全球使用者的應用程式。 Microsoft 身分識別平台會驗證使用者並提供安全性權杖,例如存取權杖重新整理權杖識別碼權杖。 安全性權杖可讓用戶端應用程式存取資源伺服器上的受保護資源。

存取權杖:存取權杖是 授權伺服器OAuth 2.0 流程中發行的安全性權杖。 其包含使用者及權杖適用資源的相關資訊。 該資訊可用於存取 Web API 及其他受保護的資源。 存取權杖會由資源進行驗證,以授與用戶端應用程式的存取權。 若要深入了解 Microsoft 身分識別平台如何發行存取權杖,請參閱存取權杖

重新整理權杖:因為存取權杖只在短時間內有效,所以授權伺服器有時會在發出存取權杖的同時發出重新整理權杖。 然後,用戶端應用程式可以在需要時,交換此重新整理權杖以取得新的存取權杖。 若要深入了解 Microsoft 身分識別平台如何使用重新整理權杖來撤銷權限,請參閱重新整理權杖

識別碼權杖:識別碼權杖會在 OpenID Connect 流程期間傳送至用戶端應用程式。 這些權杖可以連同或取代存取權杖進行傳送。 用戶端會使用識別碼權杖來驗證使用者。 若要深入了解 Microsoft 身分識別平台如何發行識別碼權杖,請參閱識別碼權杖

許多企業應用程式會使用 SAML 來驗證使用者。 如需 SAML 判斷提示的詳細資訊,請參閱 Azure Active Directory SAML 權杖參考

驗證安全性權杖

此權杖取決於用來產生權杖的應用程式、已登入使用者的 Web 應用程式,或為驗證權杖而呼叫的 Web API。 權杖是由具有私密金鑰的授權伺服器所簽署。 授權伺服器會發佈對應的公開金鑰。 若要驗證權杖,應用程式會使用授權伺服器公開金鑰來驗證簽章,以驗證簽章是使用私密金鑰所建立。

權杖只限時有效,因此授權伺服器經常提供一對權杖;

  • 存取權杖,可存取應用程式或受保護的資源。
  • 重新整理權杖,用來在存取權杖即將過期時重新整理存取權杖。

存取權杖會傳遞至 Web API 作為 Authorization 標頭中的持有人權杖。 應用程式可將重新整理權杖提供給授權伺服器。 如果未撤銷使用者對應用程式的存取權,則會取得新的存取權杖和新的重新整理權杖。 這是處理企業離職員工案例的方式。 當授權伺服器收到重新整理權杖時,如果使用者已不再獲得授權,則不會發出另一個有效的存取權杖。

JSON Web 權杖和宣告

Microsoft 身分識別平台會將安全性權杖實作為 JSON Web 權杖 (JWT),其中包含宣告。 由於 JWT 是用作安全性權杖,因此這種形式的驗證有時也稱為 JWT 驗證。

宣告會將一個實體 (例如用戶端應用程式或資源擁有者) 的相關判斷提示提供給另一個實體 (例如資源伺服器)。 宣告也可以稱為 JWT 宣告或 JSON Web 權杖宣告。

宣告是一個名稱或值組,可轉送關於權杖主體的事實。 例如,宣告可能包含授權伺服器所驗證安全性主體的相關事實。 特定權杖中的宣告取決於許多資訊,例如權杖的類型、用來驗證主體的認證類型,以及應用程式設定。

應用程式可以使用宣告進行各種工作,例如:

  • 驗證權杖。
  • 識別權杖主體的租用戶
  • 顯示使用者資訊。
  • 判斷主體的授權。

宣告是由提供資訊的索引鍵/值組所組成,如下所示:

  • 產生權杖的安全性權杖伺服器。
  • 產生權杖的日期。
  • 主旨 (類似使用者,但不是精靈) 。
  • 對象,也就是用來產生權杖的應用程式。
  • 要求權杖的應用程式 (用戶端)。 對於 Web 應用程式,此應用程式可能與物件相同。

若要深入了解 Microsoft 身分識別平台如何實作權杖和宣告資訊,請參閱存取權杖識別碼權杖

每個流程如何發出權杖和授權碼

視用戶端的建置方式而定,其可使用 Microsoft 身分識別平台所支援的一或多個驗證流程。 這些流程可以產生各種權杖 (識別碼權杖、重新整理權杖、存取權杖) 和授權碼。 各自需要不同的權杖,才能使其正常運作。 下表提供一份概觀。

Flow 需要 識別碼權杖 存取權杖 重新整理權杖 授權碼
授權碼流程 x x x x
隱含流程 x x
混合式 OIDC 流程 x x
重新整理權杖兌換 重新整理權杖 x x x
代理者流程 存取權杖 x x x
用戶端認證 x (僅限應用程式)

透過隱含模式發出的權杖具有長度限制,因為其會透過 URL 傳遞回瀏覽器 (其中 response_modequeryfragment)。 有些瀏覽器對於可放在瀏覽器列中的 URL 大小有所限制,而太長時會失敗。 因此,這些權杖沒有 groupswids 宣告。

後續步驟

如需關於 Microsoft 身分識別平台中驗證和授權的詳細資訊,請參閱下列文章: