設定 Microsoft 認證以進行 Copilot Agent Kit 測試

本文提供代理測試框架的概述,並逐步說明如何設定 Microsoft 認證,以使用 Agent Test Runner Power Apps 元件框架(PCF)測試 Copilot Studio 代理。

Architecture

Microsoft 認證提供一套簡化的瀏覽器到代理 SDK 架構,專為測試場景優化。 此方法可讓您在測試環境和 Copilot Studio 代理程式之間進行安全通訊,而無需額外的驗證基礎設施。

流程架構

下列序列圖說明驗證和測試執行流程。

說明瀏覽器至代理程式 SDK 架構用於認證與測試的圖表。

元件架構

下圖說明了 Microsoft Agent Test Runner 認證流程中涉及的關鍵元件。

圖表說明測試流程中涉及的關鍵元件,包括瀏覽器環境、Power Platform 服務及認證服務。

設定 Microsoft 認證

設定過程包括在 Azure 入口網站註冊應用程式、從 Copilot Studio 取得代理識別碼,並在 Dataverse 建立設定記錄。

Azure 入口網站

在 Azure 入口網站中,建立應用程式註冊,新增重定向網址,並設定 API 權限。

備註

如果您擁有租用戶管理權限,則可以設定 API 權限。 否則,您需要請租用戶管理員為您完成此操作。

  1. 在Azure入口建立應用程式註冊。

    請務必同時複製 應用程式 (用戶端) 識別碼 和 目錄 (租戶) 識別碼。 您可以從 「概觀 」頁面取得這些值。

  2. 在 Azure 入口網站設定 API 權限:

    1. 在您的應用程式註冊中,移至 API 權限。

    2. 選取新增權限。

    3. 選取 [我的組織使用的 API] 索引標籤。

    4. 搜尋 Power Platform API。

      備註

      如果您在清單中沒有看到 Power Platform API,則必須將該 API 加入您的租用戶。 請遵循 Power Platform API 驗證步驟 2 中的指示。

    5. 選取委派的權限。

    6. 在 CopilotStudio 下,選取 CopilotStudio.Copilots.Invoke。

    7. 選擇新增權限。

    8. 選取 [ 授與 <您組織> 的管理員同意] 來授與管理員同意。 如果按鈕無法使用,您可能需要要求租用戶系統管理員為您執行此操作。

  3. 新增重定向網址,並在 Azure 入口網站中設定權杖設定:

    1. 移至應用程式註冊中的 驗證 。

    2. 在 [平台設定] 底下,選取 [新增平台]。

    3. 選擇單頁應用程式。

    4. 使用下列格式輸入您的環境URL: https://[your-org].crm.dynamics.com

    5. 選取 存取令牌(用於隱含流程) 和 ID 令牌(用於隱含和混合流程)。

    6. 選擇設定。

    7. 確認 [支援的帳戶類型 ] 已設定為 [僅限此組織目錄中的帳戶]。

Copilot Studio 與 Dataverse

在 Copilot Studio 中,取得你的代理的環境 ID 和代理識別碼,以便在 Dataverse 中建立代理設定記錄。

  1. 在 Copilot Studio 中:

    1. 確認您處於正確的環境中。

    2. 選取您要測試的代理程式,並確保它已發佈。

    3. 從 [設定]中,選取 [進階>中繼資料]。

    4. 複製 [環境 ID] 和 [結構描述名稱] 的值。 結構描述名稱是您的 代理程式識別碼 ,並使用格式 cr123_agentname。

  2. 使用先前步驟中的值在 Dataverse 中建立 代理程式設定 記錄:

    Field 價值 範例
    使用者驗證 Microsoft 認證
    客戶識別碼 Azure 入口網站下步驟 1 中的應用程式 (用戶端) 識別碼。 00001111-aaaa-2222-bbbb-3333cccc4444
    租用戶標識碼 在步驟 1 中從 Azure portal 取得的 Directory(租戶)ID。 11112222-bbbb-3333-cccc-4444dddd5555
    環境識別碼 上一個步驟中的環境識別碼。 11111111-2222-3333-4444-555555555555
    客服專員識別碼 上一步驟中的模式名稱。 cr123_testagent

故障排除

本節提供您可能遇到的常見錯誤的疑難排解步驟。

認證錯誤

錯誤:「AADSTS50011:請求中指定的回覆 URL 不相符」

  • 原因:應用程式註冊時 URI 不匹配的重定向。

  • 解決方案:

    1. 在Azure入口網站中,前往 應用程式註冊,選擇 Manage>Authentication。
    2. 請確定重新導向 URI 與您的環境 URL 完全相符。
    3. 使用以下格式: https://[your-org].crm.dynamics.com

錯誤:「AADSTS65001:使用者或管理員尚未同意」

  • 原因:缺少 API 權限或系統管理員同意。

  • 解決方案:

    1. 在Azure入口網站中,前往 應用程式註冊,選擇 Manage>API 權限。
    2. 確定已新增 CopilotStudio.Copilots.Invoke 權限。
    3. 選取 [授與管理員同意]。

每次都會出現登入彈出視窗

  • 原因:帳戶未快取或瀏覽器設定阻止權杖儲存。

  • 解決方案:

    1. 請確保您的瀏覽器允許 Dynamics 網域彈出視窗。
    2. 驗證您的瀏覽器是否處於隱身或私人模式。
    3. 確認您的瀏覽器沒有封鎖第三方 Cookie。
    4. 清除瀏覽器快取,然後重試。
    5. 檢查組織原則是否強制重新驗證。

錯誤:瀏覽器主控台中的「InteractionRequiredAuthError」

  • 原因:無訊息驗證失敗且觸發互動式登入時的正常行為。

  • 預期行為:

    • 當無訊息驗證失敗時,會發生此錯誤。
    • 系統會自動顯示登入彈出視窗。
  • 所需動作:無。

代理程式 SDK 錯誤

錯誤:「找不到 404 - 找不到代理程式」

  • 原因:代理程式識別碼或環境識別碼不正確。

  • 解決方案:

    1. 請在Copilot StudioSettings > Advanced > Metadata 中核實代理識別碼(Schema name)。
    2. 請確定環境識別碼與發佈代理程式的環境相符。
    3. 確認代理程式已發佈且可存取。

錯誤:「401 未經授權」

  • 原因:驗證權杖問題。

  • 解決方案:

    1. 請確認使用者是否能存取 Copilot Studio 環境。
    2. 確認應用程式註冊權限。
    3. 清除瀏覽器快取並重試身份驗證。

錯誤:「403 禁止」

  • 原因:存取代理程式的權限不足。

  • 解決方案:

    1. 確保使用者在 Dataverse 中具有適當的資訊安全角色。
    2. 檢查代理程式是否允許使用者的安全角色。
    3. 驗證環境許可權。

Agent 測試執行器控制項錯誤

錯誤:「無法初始化驗證服務」

  • 原因:代理程式組態記錄中的組態無效。

  • 解決方案:

    1. 確認所有四個組態值都正確無誤:
      • 用戶端識別碼
      • 租戶識別碼
      • 環境識別碼
      • 客服專員識別碼
    2. 檢查是否有多餘的空格或無效字元。

錯誤:「外部服務呼叫已封鎖」

  • 原因:缺少外部服務的使用。

  • 解決方案:

    • 對於模型導向應用程式中的終端使用者:
      • 此錯誤通常表示部署或組態問題。
      • 請聯絡您的系統管理員或開發人員。
      • 任何使用者動作都無法解決此問題,因為它需要管理員或開發人員介入。
    • 對於系統管理員:
      • 檢查組織安全性原則是否封鎖外部呼叫。
      • 確保防火牆與代理設定允許連線至所需的 Microsoft 網域。

網路和 CORS 錯誤

錯誤:「CORS 原則:沒有 'Access-Control-Allow-Origin' 標頭」

  • 原因:跨來源請求被阻止。

  • 解決方案:

    1. 確保 Azure 中的 redirect URI 與 exact domain 相符。
    2. 對所有 URL 使用 HTTPS。
    3. 確認沒有混合內容(HTTP/HTTPS)問題。

錯誤:「擷取失敗」

  • 原因:網路連線或防火牆問題。

  • 解決方案:

    1. 檢查網路連線到:
      • login.microsoftonline.com
      • api.powerplatform.com
    2. 驗證防火牆是否允許出埠 HTTPS 流量。
    3. 檢查代理設定(如果適用)。

測試執行錯誤

錯誤:「測試執行逾時」

  • 原因:客服人員回應時間過長。

  • 解決方案:

    1. 在 Copilot Studio 檢查代理程式的效能。
    2. 驗證代理程式是否已發佈且運作。

錯誤:「無法建立交談」

  • 原因:代理程式 SDK 初始化失敗。

  • 解決方案:

    1. 驗證代理程式是否已發佈。
    2. 檢查 Copilot Studio 裡的代理設定。
    3. 確保代理程式支援測試案例。

偵錯提示

  1. 啟用瀏覽器開發人員工具:

    • 按 F12 開啟開發人員工具。
    • 檢查 [主控台] 索引標籤是否有 JavaScript 錯誤。
    • 檢查「網路」分頁中是否有失敗的請求。
  2. 檢查身份驗證流程:

    • 在登入期間監視 [網路] 索引標籤。
    • 尋找 200 個來自login.microsoftonline.com 的回應。
    • 在主控台記錄中驗證權杖取得。
  3. 驗證組態:

    • 檢查所有 GUID 和識別碼。
    • 確保沒有多餘的空格或特殊字元。
    • 驗證環境和代理程式的可存取性。
  4. 隔離測試:

    • 直接在 Copilot Studio 中試用代理程式。