Microsoft 365 使用者的單一租使用者和多租用戶驗證
本文可讓您深入瞭解單一租使用者和多租使用者 、Microsoft Entra ID (Microsoft Entra ID) 應用程式的驗證程式。 當您使用 Azure 通訊服務 提供的通話軟體開發工具包 (SDK) 建置 Microsoft 365 使用者的通話體驗時,可以使用驗證。 本文中的使用案例也會細分個別的驗證成品。
案例 1:單一租使用者應用程式的範例
Fabrikam 公司已建置應用程式供內部使用。 應用程式的所有使用者都有 Microsoft Entra ID。 存取 Azure 通訊服務 是由 Azure 角色型存取控制 (Azure RBAC) 控制。
下列順序圖詳細說明單一租用戶驗證。
開始之前:
- Alice 或她的 Microsoft Entra 系統管理員必須在第一次嘗試登入之前提供自定義 Teams 應用程式同意。 深入瞭解 同意。
- Azure 通訊服務 資源管理員必須授與 Alice 執行其角色的許可權。 深入瞭解 Azure RBAC 角色指派。
步驟:
- 使用 Microsoft Entra ID 驗證 Alice:Alice 是使用標準 OAuth 流程搭配 Microsoft 驗證連結庫 (MSAL) 進行驗證。 如果驗證成功,用戶端應用程式會收到 Microsoft Entra 存取權杖,其值為
A1
,且 Microsoft Entra 使用者的物件識別碼值為A2
。 本文稍後會概述令牌。 本 快速入門會探索開發人員觀點中的驗證。 - 取得Alice的存取令牌:Fabrikam 應用程式使用具有值的
B
自訂驗證成品會執行授權邏輯,以決定Alice是否有權交換 Azure 通訊服務 存取令牌的 Microsoft Entra 存取令牌。 成功授權之後,Fabrikam 應用程式會使用成品A1
、A2
和A3
來執行控制平面邏輯。 Azure 通訊服務 針對 Fabrikam 應用程式中的 Alice 產生存取令牌D
。 此存取令牌可用於 Azure 通訊服務 中的數據平面動作,例如通話。A2
和A3
成品會隨著成品A1
一起傳遞以進行驗證。 驗證可確保 Microsoft Entra 令牌已發行給預期的使用者。 應用程式可防止攻擊者使用發行給其他應用程式或其他使用者的 Microsoft Entra 存取令牌。 如需如何取得A
成品的詳細資訊,請參閱 透過 MSAL 連結庫 接收 Microsoft Entra 使用者令牌和物件識別碼和 取得應用程式識別符。 - 呼叫 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.ManageCalls
、https://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 的應用程式擷取令牌。
下列順序圖詳細說明多租用戶驗證。
開始之前:
- Alice 或她的 Microsoft Entra 系統管理員必須在第一次嘗試登入之前,先授與 Contoso 的 Microsoft Entra 應用程式同意。 深入瞭解 同意。
步驟:
- 使用 Fabrikam 應用程式驗證 Alice:Alice 是透過 Fabrikam 的應用程式進行驗證。 使用具有 Microsoft 驗證連結庫的標準 OAuth 流程(MSAL)。 請務必使用正確的 授權單位來設定 MSAL。 如果驗證成功,Contoso 用戶端應用程式會收到具有 值的
A1
Microsoft Entra 存取令牌,以及值為A2
的 Microsoft Entra 使用者物件標識碼。 令牌詳細數據如下所述。 本 快速入門會探索開發人員觀點中的驗證。 - 取得Alice的存取令牌:使用具有值的
B
自定義驗證成品,Contoso 應用程式會執行授權邏輯,以決定Alice是否有權交換 Azure 通訊服務 存取令牌的 Microsoft Entra 存取令牌。 成功授權之後,Contoso 應用程式會使用成品A1
、A2
和A3
來執行控制平面邏輯。 Contoso 應用程式中的 Alice 會產生 Azure 通訊服務 存取令牌D
。 此存取令牌可用於 Azure 通訊服務 中的數據平面動作,例如通話。A2
和A3
成品會隨著成品A1
一起傳遞。 驗證可確保 Microsoft Entra 令牌已發行給預期的使用者。 應用程式可防止攻擊者使用發行給其他應用程式或其他使用者的 Microsoft Entra 存取令牌。 如需如何取得A
成品的詳細資訊,請參閱 透過 MSAL 連結庫 接收 Microsoft Entra 使用者令牌和物件識別碼和 取得應用程式識別符。 - 呼叫 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.ManageCalls
、https://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
- 工件
D
- 類型:Azure 通訊服務 存取令牌
- 物件:
Azure Communication Services
、數據平面 - Azure 通訊服務 資源標識碼:Contoso 的
Azure Communication Services Resource ID
下一步
- 深入了解驗證。
- 請嘗試本 快速入門來驗證 Microsoft 365 使用者。
- 請嘗試本 快速入門來呼叫 Microsoft 365 使用者。
下列範例應用程式可能對您感興趣:
試用範例應用程式,其示範在行動裝置和傳統型應用程式中取得 Microsoft 365 使用者 Azure 通訊服務 存取令牌的程式。
若要查看 Microsoft 365 使用者的 Azure 通訊服務 存取令牌如何在單頁應用程式中取得,請參閱 SPA 範例應用程式。
若要深入瞭解 Azure 通訊服務 驗證服務的伺服器實作,請參閱驗證服務主圖範例。