共用方式為


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 Microsoft 365 使用者的驗證順序圖表。用戶端應用程式會取得單一租使用者 Microsoft Entra 應用程式的 Azure 通訊服務 存取令牌。

開始之前:

  • Alice 或她的 Microsoft Entra 系統管理員必須在第一次嘗試登入之前提供自定義 Teams 應用程式同意。 深入瞭解 同意
  • Azure 通訊服務 資源管理員必須授與 Alice 執行其角色的許可權。 深入瞭解 Azure RBAC 角色指派

步驟:

  1. 使用 Microsoft Entra ID 驗證 Alice:Alice 是使用標準 OAuth 流程搭配 Microsoft 驗證連結庫 (MSAL) 進行驗證。 如果驗證成功,用戶端應用程式會收到 Microsoft Entra 存取權杖,其值為 A1 ,且 Microsoft Entra 使用者的物件識別碼值為 A2。 本文稍後會概述令牌。 本 快速入門會探索開發人員觀點中的驗證。
  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
  • 工件 D
    • 類型:Azure 通訊服務 存取令牌
    • 物件: Azure Communication Services、數據平面
    • Azure 通訊服務 資源標識碼:Fabrikam 的Azure Communication Services Resource ID

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

Contoso 公司已為外部客戶建置應用程式。 此應用程式會在 Contoso 自己的基礎結構內使用自訂驗證。 Contoso 會使用 連接字串,從 Fabrikam 的應用程式擷取令牌。

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

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

詳細數據驗證 Microsoft 365 使用者和 Azure 通訊服務 多租使用者 Microsoft Entra 應用程式的存取令牌的循序圖。

開始之前:

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

步驟:

  1. 使用 Fabrikam 應用程式驗證 Alice:Alice 是透過 Fabrikam 的應用程式進行驗證。 使用具有 Microsoft 驗證連結庫的標準 OAuth 流程(MSAL)。 請務必使用正確的 授權單位來設定 MSAL。 如果驗證成功,Contoso 用戶端應用程式會收到具有 值的 A1 Microsoft Entra 存取令牌,以及值為 A2的 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 通訊服務 驗證服務的伺服器實作,請參閱驗證服務主圖範例