共用方式為


Microsoft 365 使用者的單一租使用者和多租用戶驗證

本文可讓您深入瞭解單一租使用者和多租使用者、 Microsoft Entra ID (Microsoft Entra ID) 應用程式的驗證程式。 當您使用 Azure 通訊服務 提供的通話軟體開發工具包 (SDK) 建置Microsoft 365 使用者的通話體驗時,可以使用驗證。 本文中的使用案例也會細分個別驗證成品。

案例 1:單一租用戶應用程式的範例

Fabrikam 公司已建置應用程式供內部使用。 應用程式的所有使用者都有Microsoft Entra ID。 Azure 通訊服務的存取是由 Azure 角色型存取控制 (Azure RBAC) 控制。

此圖概述 Fabrikam 針對 Microsoft 365 位使用者及其 Azure 通訊服務 資源的 Fabrikam 呼叫應用程式驗證程式。

下列順序圖表詳細說明單一租用戶驗證。

詳細說明 Fabrikam Microsoft 365 使用者的驗證順序圖表。用戶端應用程式會取得單一租使用者Microsoft Entra 應用程式的 Azure 通訊服務 存取令牌。

開始之前:

  • Alice 或她的 Microsoft Entra 系統管理員必須在第一次嘗試登入之前,先同意自訂 Teams 應用程式。 深入了解同意
  • Azure 通訊服務資源管理員必須將執行所屬角色的權限授與 Alice。 深入了解 Azure RBAC 角色指派

步驟:

  1. 使用 Microsoft Entra ID 驗證 Alice:使用標準 OAuth 流程向 Microsoft 驗證程式庫 (MSAL)驗證 Alice。 如果驗證成功,用戶端應用程式會收到一個Microsoft Entra 存取令牌,其 值為 ,且具有 值為 A1 A2Microsoft Entra 使用者的物件標識碼。 本中稍候會概述權杖。 本快速入門會以開發人員觀點探索驗證。
  2. 取得Alice的存取令牌:Fabrikam 應用程式使用具有值的B自訂驗證成品會執行授權邏輯,以決定Alice是否有權交換 Azure 通訊服務 存取令牌的 Microsoft Entra 存取令牌。 成功授權之後,Fabrikam 應用程式會使用成品 A1A2A3來執行控制平面邏輯。 Azure 通訊服務 為 Fabrikam 應用程式中的 Alice 產生存取令牌D。 此存取權杖可用於 Azure 通訊服務中的資料平面動作,例如通話。 A2A3 成品會隨著成品A1一起傳遞以進行驗證。 驗證可確保 Microsoft Entra 權杖已核發給預期使用者。 應用程式可防止攻擊者使用向其他應用程式或其他用戶發出的Microsoft Entra 存取令牌。 如需如何取得 A 成品的詳細資訊,請參閱 透過 MSAL 連結庫 和取得應用程式識別碼,接收Microsoft Entra 使用者令牌和 對象標識碼
  3. 呼叫 Bob:Alice 使用 Fabrikam 的應用程式呼叫 Microsoft 365 使用者 Bob。 通話會使用 Azure 通訊服務存取權杖,透過呼叫 SDK 進行。 深入瞭解 如何開發Microsoft 365位使用者的應用程式

成品:

  • 人工製品 A1
    • 類型:Microsoft Entra 存取權杖
    • 物件: Azure Communication Services、控制平面
    • 來源:Fabrikam 的 Microsoft Entra 租用戶
    • 權限:https://auth.msft.communication.azure.com/Teams.ManageCallshttps://auth.msft.communication.azure.com/Teams.ManageChats
  • 人工製品 A2
    • 類型:Microsoft Entra 使用者的物件識別碼
    • 來源:Fabrikam 的 Microsoft Entra 租用戶
    • 授權單位:https://login.microsoftonline.com/<tenant>/
  • 人工製品 A3
    • 類型:Microsoft Entra 應用程式識別碼
    • 來源:Fabrikam 的 Microsoft Entra 租用戶
  • 人工製品 B
    • 類型:自訂 Fabrikam 授權成品 (由 Microsoft Entra ID 或不同授權服務核發)
  • 人工製品 C
    • 類型:Azure 通訊服務資源授權成品。
    • 來源:透過適用於 Microsoft Entra 驗證的持有人權杖,或是雜湊式訊息驗證碼 (HMAC) 承載,以及存取金鑰型驗證的簽章來「授權」HTTP 標頭。
  • 人工製品 D
    • 類型:Azure 通訊服務存取權杖
    • 物件: Azure Communication Services、數據平面
    • Azure 通訊服務資源識別碼:Fabrikam 的 Azure Communication Services Resource ID

案例 2:多租使用者應用程式的範例

Contoso 公司已為外部客戶建置應用程式。 應用程式會在 Contoso 本身基礎結構中使用自訂驗證。 Contoso 會使用連接字串來自 Fabrikam 應用程式擷取權杖。

示範 Contoso 應用程式如何使用 Contoso 自己的 Azure 通訊服務 資源來驗證 Fabrikam 使用者的順序圖表。

下列順序圖詳細說明多租用戶驗證。

循序圖,詳細說明多租使用者Microsoft Entra 應用程式的Microsoft驗證,以及 Azure 通訊服務 存取令牌。

開始之前:

  • Alice 或她的 Microsoft Entra 系統管理員必須在第一次嘗試登入之前,先同意 Contoso 的 Microsoft Entra 應用程式。 深入了解同意

步驟:

  1. 使用 Fabrikam 應用程式來驗證 Alice:透過 Fabrikam 應用程式驗證 Alice。 將使用透過 Microsoft 驗證程式庫的標準 OAuth 流程。 請務必確保使用正確的授權單位來設定 MSAL。 如果驗證成功,Contoso 用戶端應用程式會收到具有 值的 Microsoft Entra 存取令牌,以及具有 值A1A2之 Microsoft Entra 使用者的物件標識碼。 權杖詳細資訊如下所述。 本快速入門會以開發人員觀點探索驗證。
  2. 取得Alice的存取令牌:使用具有值的B自定義驗證成品,Contoso 應用程式會執行授權邏輯,以決定Alice是否有權交換 Azure 通訊服務 存取令牌的 Microsoft Entra 存取令牌。 成功授權之後,Contoso 應用程式會使用成品 A1A2A3來執行控制平面邏輯。 Contoso 應用程式中的 Alice 會產生 Azure 通訊服務 存取令牌D。 此存取權杖可用於 Azure 通訊服務中的資料平面動作,例如通話。 A2A3 成品會隨著成品A1一起傳遞。 驗證可確保 Microsoft Entra 權杖已核發給預期使用者。 應用程式可防止攻擊者使用向其他應用程式或其他用戶發出的Microsoft Entra 存取令牌。 如需如何取得 A 成品的詳細資訊,請參閱 透過 MSAL 連結庫 和取得應用程式識別碼,接收Microsoft Entra 使用者令牌和 對象標識碼
  3. 呼叫 Bob:Alice 使用 Fabrikam 的應用程式呼叫 Microsoft 365 使用者 Bob。 通話會使用 Azure 通訊服務存取權杖,透過呼叫 SDK 進行。 在本快速入門中,深入瞭解如何開發Microsoft 365位使用者的應用程式

成品:

  • 人工製品 A1
    • 類型:Microsoft Entra 存取權杖
    • 物件: Azure Communication Services、控制平面
    • 來源:Contoso 應用程式註冊的 Microsoft Entra 租用戶
    • 權限:https://auth.msft.communication.azure.com/Teams.ManageCallshttps://auth.msft.communication.azure.com/Teams.ManageChats
  • 人工製品 A2
    • 類型:Microsoft Entra 使用者的物件識別碼
    • 來源:Fabrikam 的 Microsoft Entra 租用戶
    • 授權單位:https://login.microsoftonline.com/<tenant>/https://login.microsoftonline.com/organizations/ (根據您的案例)
  • 人工製品 A3
    • 類型:Microsoft Entra 應用程式識別碼
    • 來源:Contoso 應用程式註冊的 Microsoft Entra 租用戶
  • 人工製品 B
    • 類型:自訂 Contoso 授權成品 (由 Microsoft Entra ID 或不同授權服務核發)
  • 人工製品 C
    • 類型:Azure 通訊服務資源授權成品。
    • 來源:透過適用於 Microsoft Entra 驗證的持有人權杖,或是雜湊式訊息驗證碼 (HMAC) 承載,以及存取金鑰型驗證的簽章來「授權」HTTP 標頭
  • 人工製品 D
    • 類型:Azure 通訊服務存取權杖
    • 物件: Azure Communication Services、數據平面
    • Azure 通訊服務資源識別碼:Contoso 的 Azure Communication Services Resource ID

下一步

您可能會對下列樣本應用程式感興趣:

  • 試用範例應用程式,其示範在行動裝置和傳統型應用程式中取得Microsoft 365 個使用者 Azure 通訊服務 存取令牌的程式。

  • 若要查看如何在單頁應用程式中取得Microsoft 365 使用者的 Azure 通訊服務 存取令牌,請參閱 SPA 範例應用程式

  • 如要深入了解適用於 Azure 通訊服務的驗證服務伺服器實作,請參閱驗證服務主圖樣本