共用方式為


使用 Microsoft Entra ID 設定單一登入

Copilot Studio 支援單一登入 (SSO)。 SSO 允許您網站上的代理在客戶已經登錄到部署了專員的頁面或應用程式時登錄。

例如,專員託管在公司 Intranet 或使用者已登錄的應用程式中。

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

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

  2. 為您的專員定義自定義範圍。

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

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

先決條件

注意

若要使用其他 OAuth 2.0 提供者設定 SSO,請參閱使用通用 OAuth 提供者設定單一登入

支援的管道

下表詳細描述目前支援 SSO 的管道。 您可以在 the 構想論壇上建議對額外頻道 Copilot Studio 的支援

通道 已支援
Azure Bot Service 管道 不支援
自訂網站 已支援
示範網站 不支援
Facebook 不支援
Microsoft Teams1 已支援
行動應用程式 不支援
客戶服務全通路2 已支援

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

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

重要

當專員已滿足以下任一條件時,當前不支援 SSO:

但是,已作為 SharePoint SPFx 元件 發佈到網站的專員支援 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. 範圍下,選擇複製到剪貼簿圖示。

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

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

  5. 選取儲存

設定畫布應用程式註冊

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

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

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

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

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

  5. 選取設定

在 URL 端點查找專員的令牌

  1. 在中 Copilot Studio,打開您的專員然後選擇 Channels

  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: '00001111-aaaa-2222-bbbb-3333cccc4444',
                authority: 'https://login.microsoftonline.com/7ef988bf-xxxx-51af-01ab-2d7fd011db47'     
            },
    
  3. theURL 變數設定為先前複製的權杖端點 URL。 例如:

    (async function main() {
    
        var theURL = "https://<token endpoint URL>"
    
  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. 切換回帶有專員的選項卡,然後將驗證代碼粘貼到專員對話中。