閱讀英文

共用方式為


令牌和宣告概觀

集中式識別提供者特別適用於全球各地不需要從企業網路登入應用程式的使用者。 Microsoft 身分識別平台會驗證使用者並提供安全性權杖,例如存取權杖、重新整理權杖以及識別碼權杖。 安全性權杖允許用戶端應用程式存取資源伺服器上受保護的資源。

  • 存取權杖:存取權杖是授權伺服器在 OAuth 2.0 流程期間所發出的安全性權杖。 其包含使用者及權杖適用資源的相關資訊。 該資訊可用於存取 Web API 及其他受保護的資源。 資源會驗證存取權杖,以授與用戶端應用程式的存取權。 如需詳細資訊,請參閱 Microsoft 身分識別平台中的存取權杖
  • 重新整理權杖:因為存取權杖只在短時間內有效,所以授權伺服器有時會在發出存取權杖的同時,發出重新整理權杖。 用戶端應用程式可以接著交換此重新整理權杖以在需要時取得新的存取權杖。 如需詳細資訊,請參閱重新整理 Microsoft 身分識別平台中的存取權杖
  • 識別碼權杖:識別碼權杖會在 OpenID Connect 流程期間傳送至用戶端應用程式。 它們可以與存取權杖一起傳送或取代存取權杖。 用戶端會使用識別碼權杖來驗證使用者。 若要深入了解 Microsoft 身分識別平台如何發行識別碼權杖,請參閱 Microsoft 身分識別平台中的識別碼權杖

許多企業應用程式會使用 SAML 來驗證使用者。 如需 SAML 聲明的詳細資訊,請參閱 SAML 開放式代幣參考

驗證權杖

要驗證此權杖,由產生權杖的應用程式、使使用者登入的 Web 應用程式,或被呼叫以驗證權杖的 Web API 來決定。 授權伺服器會使用私密金鑰簽署令牌。 授權伺服器會發佈對應的公開金鑰。 若要驗證權杖,應用程式會使用授權伺服器的公開金鑰來確認簽章,並驗證該簽章是使用私密金鑰建立的。 如需詳細資訊,請參閱驗證宣告以保護應用程式和 API一文。

建議您盡可能使用支援的 Microsoft 驗證程式庫 (MSAL)。 這會為您實作令牌的獲取、驗證和重新整理。 其也會使用租用戶的 OpenID 已知探索文件,實作符合標準的租用戶設定和金鑰探索。 MSAL 支援許多不同的應用程式架構和平台,包括 .NET、JavaScript、JAVA、Python、Android 和 iOS。

權杖的有效時間有限,因此授權伺服器經常提供一組權杖。 提供存取權杖,可存取應用程式或受保護的資源。 提供刷新權杖,當存取權杖即將過期時,可用於刷新存取權杖。

存取權杖會傳遞至 Web API 作為 Authorization 標頭中的持有人權杖。 應用程式可將重新整理權杖提供給授權伺服器。 如果未撤銷使用者對應用程式的存取權,則會取得新的存取權杖和新的重新整理權杖。 當授權伺服器收到重新整理權杖時,僅在使用者仍獲得授權時,才會發出另一個存取權杖。

JSON Web 代幣和宣告

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

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

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

應用程式可以使用宣告進行下列各種工作:

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

宣告由提供以下資訊類型的鍵值對組成:

  • 產生權杖的安全性權杖伺服器
  • 產生權杖的日期
  • 主體 (例如使用者,但不是背景程序)
  • 對象,也就是用來產生權杖的應用程式
  • 要求權杖的應用程式(客戶端)

令牌端點和簽發者

Microsoft Entra ID 支援兩個租用戶設定:針對內部使用及管理員工和商務來賓所設計的員工設定,以及針對隔離受限制外部目錄內消費者及合作夥伴的客戶設定。 雖然租用戶組態的基礎身分識別服務相同,但外部租使用者的登入網域和令牌發行授權單位不同。 這可讓應用程式視需要將員工與外部識別碼工作流程分開。

Microsoft Entra 租戶員工會在 login.microsoftonline.com 憑證驗證,使用由 sts.windows.net 簽發的權杖。 只要基礎信任關係允許此互操作性,工作租戶令牌即可在租戶和多租戶應用程式之間互換。 Microsoft Entra 外部租使用者會使用表單的端點 {tenantname}.ciamlogin.com。 註冊於外部租戶的應用程式必須注意此區隔,以便正確接收和驗證令牌。

每個 Microsoft Entra 租用戶都會發佈符合標準的已知中繼資料。 本文件包含簽發者名稱、驗證和授權端點、支援的範圍和宣告等相關資訊。 對於外部租戶,該文件可公開取得,位置為:https://{tenantname}.ciamlogin.com/{tenantid}/v2.0/.well-known/openid-configuration。 此端點會傳回 https://{tenantid}.ciamlogin.com/{tenantid}/v2.0發行者值。

授權流程和驗證碼

視用戶端的建置方式而定,其可使用 Microsoft 身分識別平台所支援的一或多個驗證流程。 支援的流程可能會產生各種權杖和授權碼,且需要不同的權杖才能使其正常運作。 下表提供概觀。

流程 需要 身份令牌 存取令牌 更新令牌 授權碼
授權碼流程 x x x x
隱含流程 x x
混合式 OIDC 流程 x x
更新令牌兌換 更新權杖 x x x
代替流程 存取權杖 x x x
用戶端認證 x (僅限應用程式)