使用 Microsoft Entra ID 設定單一登入

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

例如,Agent 託管在公司網路上,或使用者已登入的應用程式中。

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

  1. 使用 Microsoft Entra ID 為您的 Agent 啟用手動驗證

  2. 在 Microsoft Entra ID 中為您的自訂畫佈建立應用程式註冊。

  3. 在 Microsoft Entra ID 中為您的 Agent 定義自訂範圍。

  4. 將自訂範圍新增至您的 Agent 設定。

  5. 設定您的自訂畫布用戶端程式碼以啟用 SSO。

必要條件

注意

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

支援的管道

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

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

1 如果您發佈至 Teams 管道,則需要依照在 Microsoft Teams 中使用 Microsoft Entra ID 為 Agent 設定單一登入文件中的設定說明進行操作。 如果無法根據該頁面上的指示設定 Teams SSO 設定,會導致您的使用者在使用 Teams 管道時一直無法通過驗證。

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

重要

目前發佈 Agent 至 Power Apps 入口網站,並不支援 SSO。

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

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

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

基於安全性理由,我們不建議您的 Agent 和自訂網站重複使用相同的應用程式註冊。

  1. 若要建立驗證應用程式註冊,請依循使用 Microsoft Entra ID 設定使用者驗證中的指示。

  2. 建立第二個應用程式註冊,做為您的畫布應用程式註冊。

新增權杖交換 URL

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

  1. 在身份驗證應用註冊頁上的 Azure 入口網站中,轉到公開 API。

  2. 在範圍下,選擇複製到剪貼簿圖示。

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

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

  5. 選取儲存。

設定您的畫布應用程式客戶端 ID 以顯示 API 選單

  1. 在驗證應用註冊頁面上的 Azure 入口網站中,移至概觀。

  2. 複製基本資料下的應用程式 (用戶端) ID 值。

  3. 在導覽列中,選擇管理>公開 API。

  4. 在授權的客戶端應用程式下,選擇新增客戶端應用程式,然後貼上先前複製的 客戶端 ID。

  5. 選取儲存。

設定畫布應用程式註冊

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

  2. 在平台設定下,選擇新增平台,然後選擇 SPA。

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

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

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

  5. 選取設定。

尋找 Agent 的權杖端點 URL

  1. 在 Copilot Studio 中,開啟您的 Agent,然後選擇頻道。

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

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

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

在網頁中設定 SSO

重要

在啟用 SSO 的應用程式中的 SharePoint 和 Graph Connector 資料來源,訪客使用者無法存取 AI 生成式解答。

使用 Copilot Studio 樣本 GitHub 存放庫中提供的程式碼,為重新導向 URL 建立網頁。 從 GitHub 存放庫複製程式碼並使用以下指示進行修改。

  1. 前往 Azure 入口網站中的概觀頁面,並複製畫布應用程式註冊中的應用程式 (用戶端) 識別碼和目錄 (租用戶) 識別碼。

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

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

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

    例如:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '00001111-aaaa-2222-bbbb-3333cccc4444',
                authority: 'https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'     
            },
    
  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. 儲存您的變更。

  6. 驗證是否已成功設定 SSO。

    測試 Agent 時,如果 SSO 未成功設定,系統會提示您登入。 登入過程會提供一個驗證碼,您必須將其複製到聊天視窗。

    如果您看到登入提示,請確認您正確完成了此程序的第 1 步至第 5 步。 如果 SSO 設定成功,系統不會提示您登入。

    注意

    GitHub 倉庫中的程式碼要求使用者選擇登入按鈕。 在生產環境中,您可能會想用更合適的事件取代按鈕功能,比如導覽到頁面。