分享方式:


使用 Microsoft Entra ID 設定單一登入

Copilot Studio 支援單一登入 (SSO)。 如果客戶已登入部署副手的頁面或應用程式,則 SSO 可讓您網站上的副手登入客戶。

例如,副手是託管在公司內部網站或在使用者已經登入的應用程式中。

為 Copilot Studio 設定 SSO 有四個主要步驟:

  1. 在 Microsoft Entra ID 中建立自訂畫布的應用程式註冊。

  2. 為您的副手定義自訂範圍。

  3. 在 Copilot Studio 中設定驗證以啟用 SSO。

  4. 設定您的自訂畫布 HTML 代碼以啟用 SSO。

先決條件

注意

要使用其他 OAuth 2.0 提供程式配置 SSO,請參閱 使用通用 OAuth 提供程式配置單點登錄。

支援的管道

下表詳細描述目前支援 SSO 的管道。 您可以在 Microsoft Copilot Studio 構想論壇中,建議支援其他管道。

通道 已支援
Azure Bot Service 頻道 不支援
自訂網站 已支援
演示網站 不支援
Facebook 不支援
Microsoft Teams1 已支援
移動應用程式 不支援
...Customer Service 全通路 2 已支援

1 如果還啟用了Teams通道,則需要 跟隨 文檔中的使用 ID為 copilot Microsoft Entra 配置單點登錄上的配置說明 Microsoft Teams 。 如果無法根據該頁面上的指示設定 Teams SSO 設定,會導致您的使用者在使用 Teams 管道時一直無法通過驗證。

2 僅支援即時聊天頻道。 如需其他資訊,請參閱設定移交至 Dynamics 365 Customer Service

重要

當副手處於以下任一狀態時,目前不支援 SSO:

但是,已作為 SPFx 元件發佈到 SharePoint 網站的副手支援 SSO。

建立自訂網站的應用程式註冊

若要啟用 SSO,您需要建立兩個不同的應用程式註冊:

  • 驗證應用程式註冊,可為您的副手啟用 Microsoft Entra ID 使用者驗證
  • 畫布應用程式註冊,這會為自訂網頁啟用 SSO

出於安全原因,不建議您的副手和自訂網站重複使用相同的應用程式註冊。

  1. 依照使用 Microsoft Entra ID設定使用者驗證中的說明建立驗證應用程式註冊。

  2. 跟隨 說明再次創建身份驗證應用註冊,以創建第二個應用註冊,用作您的畫布應用註冊。

  3. 將畫布應用程式註冊識別碼新增至驗證應用程式註冊。

新增權杖交換 URL

若要更新 Copilot Studio 中的 Microsoft Entra ID 驗證設定,您需要新增權杖交換 URL,以允許您的應用程式和 Copilot Studio 共用資訊。

  1. 在驗證應用程式註冊側邊欄標籤上的 Azure 入口網站中,前往公開 API

  2. 在 Scopes (範圍) ,選擇 Copy to clipboard (複製到剪貼板 圖示。

  3. 在 Copilot Studio 導覽功能表的設定底下,選取安全性,然後選取驗證圖標。

  4. 權杖交換 URL (SSO 的必要項) 中,將先前複製的範圍貼上。

  5. 選取儲存

設定畫布應用程式註冊

  1. 建立畫布應用程式註冊之後,移至驗證,然後選取新增平台

  2. 平台設定底下,選取新增平台,然後選取 Web

  3. 重新導向 URL 底下,輸入網頁的 URL;例如,http://contoso.com/index.html

    設定網頁的螢幕擷取畫面。

  4. 隱含授與和混合流程區段中,開啟存取權杖 (用於隱含流程)識別碼權杖 (用於隱含和混合流程)

  5. 選取設定

尋找副手的權杖端點 URL

  1. 在 Copilot Studio 中,打開副手,然後選擇頻道

  2. 選取行動裝置應用程式

  3. 權杖端點底下,選取複製

    在 Copilot Studio 中複製權杖端點 URL 的螢幕擷取畫面。

在網頁中設定 SSO

使用 Copilot Studio GitHub 存放庫提供的程式碼,建立重新導向 URL 的網頁。 從 GitHub 儲存庫複製代碼,並按照以下說明對其進行修改。

注意

GitHub 存放庫中的程式碼要求使用者選擇登錄按鈕或從其他網站登錄。 要啟用自動登錄,請將以下代碼添加到以下代碼 aysnc function main()的開頭:

    (async function main() {
        if (clientApplication.getAccount() == null) {
           await clientApplication.loginPopup(requestObj).then(onSignin).catch(function (error) {console.log(error) });
        }
        // Add your BOT ID below 
        var theURL =
  1. 前往 Azure 入口網站中的概觀頁面,並複製畫布應用程式註冊中的應用程式 (用戶端) 識別碼目錄 (租用戶) 識別碼

    Azure 入口網站中 [應用程式註冊概觀] 頁面的螢幕擷取畫面,其中反白顯示概觀、應用程式識別碼和目錄識別碼。

  2. 若要設定 Microsoft 驗證庫 (MSAL):

    • 指派 clientId 給您的應用程式 (用戶端) 識別碼
    • 指派 authorityhttps://login.microsoftonline.com/ 並將目錄 (租用戶) 識別碼新增至結尾。

    例如:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '692e92c7-xxxx-4060-76d3-b381798f4d9c',
                authority: 'https://login.microsoftonline.com/7ef988bf-xxxx-51af-01ab-2d7fd011db47'     
            },
    
  3. theURL 變數設定為先前複製的權杖端點 URL。 例如:

    (async function main() {
    
        var theURL = "https://1c0.0.environment.api.powerplatform.com/powervirtualagents/bots/5a099fd/directline/token?api-version=2022-03-01-preview"
    
  4. 編輯 userId 的值以加入自訂首碼。 例如:

    var userId = clientApplication.account?.accountIdentifier != null ? 
            ("My-custom-prefix" + clientApplication.account.accountIdentifier).substr(0, 64) 
            : (Math.random().toString() + Date.now().toString()).substr(0,64);
    
  5. 儲存您的變更。

使用您的網頁測試副手

  1. 在瀏覽器中打開網頁。

  2. 選取登入

    使用驗證代碼登入的螢幕擷取畫面

    注意

    如果您的瀏覽器封鎖快顯視窗,或者您使用的是無痕瀏覽或私密瀏覽視窗,系統會提示您登入。 否則,將使用驗證碼完成登入。

    新的瀏覽器索引標籤會開啟。

  3. 切換至新的索引標籤,並複製驗證代碼。

  4. 切換回副手索引標籤,然後將驗證碼貼到副手對話中。