共用方式為


使用 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 已支援
行動應用程式 不支援
客戶服務全通路2 已支援

1 如果您也已啟用 Teams 頻道,則需要遵循使用 Microsoft Entra ID 為 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. 範圍下,選擇複製到剪貼簿圖示。

  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: '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. 切換回副手索引標籤,然後將驗證碼貼到副手對話中。