共用方式為


將使用者驗證新增至主題

您可以直接在專員對話中啟用使用者身份驗證。 您可以將使用者的基本屬性 (例如名稱和 ID) 指派給變數。 您也可以提示使用者使用主題中的驗證節點登入,該驗證節點會擷取使用者權杖,然後使用該權杖從後端系統檢索使用者的資訊。

注意

在和 Copilot Studio 中創建 Microsoft Teams 的代理會自動配置為 Microsoft Entra ID 身份驗證。

您也可以設定單一登入 (SSO),讓您的使用者不需要手動登入。 如需詳細資訊,請參閱使用 Microsoft Entra 識別碼設定單一登入

先決條件

將使用者驗證新增至主題,以允許客戶直接在交談中登入。 接著就可以透過使用者變數將交談個人化,並代表使用者存取後端系統。

使用 Microsoft Entra ID 設定手動驗證

您需要使用 Microsoft Entra ID 設定使用者驗證,然後才能在主題中使用驗證。

請依照使用 Microsoft Entra ID 設定使用者驗證中的說明進行操作。

使用登入系統主題新增使用者驗證

當您創建專員時, Copilot Studio 會自動添加一個名為 log in 的系統主題。 要使用它,您必須將專員的身份驗證設置為手動並要求用戶登錄。 當客戶使用專員開始對話時, 將觸發 login 主題並提示用戶登錄。 您可以根據自己的專員自定義 登錄 主題。

重要

建議登入主題僅用於提供 Copilot Studio 提供的驗證方法。 不應對其進行修改以呼叫任何其他動作或流程,或其他驗證方法。

  1. 打開你的專員, Copilot Studio選擇頁面頂部的“設置 ”,然後選擇 “安全 ”。

  2. 選取驗證

  3. 選取手動驗證,然後選取要求使用者登入

  4. 根據需要設定所有手動驗證欄位

  5. 選取儲存

使用自訂主題新增使用者驗證

登入主題在交談開始時,會對使用者進行驗證。 若要允許使用者稍後再登入,您可以將驗證節點新增至任何自訂主題。

當客戶輸入其使用者名稱和密碼時,系統可能會提示他們輸入驗證碼。 他們登入後,即使到達另一個驗證節點,也不會再次收到提示。

  1. 選取頁面頂端的設定,然後選取安全性

  2. 選取驗證圖格。

    注意

    您必須選取手動驗證才能將使用者驗證新增至自訂主題。

  3. 清除要求使用者登入核取方塊。

  4. 根據需要設定所有手動驗證欄位

  5. 選取儲存

  6. 選取頁面頂端的主題

  7. 選取新增節點 () >進階>認證

  8. 透過識別提供者所設定的使用者來測試主題

提示

對於成功的登入和失敗的登入,都務必要建立路徑。 登入失敗可能有多種原因,包括識別提供者登入體驗發生錯誤。

驗證變數

當您為專員配置使用者身份驗證時,您可以在主題中使用身份驗證變數。 下表根據您選擇的驗證選項比較這些變數的可用性。

有關變數的更多資訊,請參閱使用變數

驗證變數 無驗證 使用 Microsoft 進行驗證 手動驗證
User.DisplayName 無法使用 可提供服務 可提供服務
User.FirstName 無法使用 可提供服務 可提供服務
User.LastName 無法使用 可提供服務 可提供服務
User.PrincipalName 無法使用 可提供服務 可提供服務
User.Email 無法使用 可提供服務 可提供服務
User.Id 無法使用 可提供服務 可提供服務
User.IsLoggedIn 無法使用 可提供服務 可提供服務
User.AccessToken 無法使用 無法使用 可提供服務
SignInReason 無法使用 可提供服務 可提供服務

User.DisplayName

警告

這個變數不一定包含值。 使用識別提供者中的使用者進行測試,以確保主題可以正確運作。

User.DisplayName 變數包含儲存在身分提供者中的顯示名稱。 使用此變數來問候或引用使用者,而無需將他們的名字顯式地提供給專員,從而使對話更加個人化。

只要在設定手動驗證時定義了 profile 範圍,Copilot Studio 就會根據識別提供者提供的 name 宣告自動設定 User.DisplayName 的值。 有關範圍的詳細資訊,請參閱使用 Microsoft Entra ID 設定使用者驗證

User.Id

警告

這個變數不一定包含值。 使用識別提供者中的使用者進行測試,以確保主題可以正確運作。

User.Id 變數包含儲存在身分提供者中的使用者識別碼。 在 Power Automate 流程中使用此變數來呼叫將 UserID 作為值的 API。

Copilot Studio 會根據識別提供者提供的 sub 宣告自動設定 User.DisplayName 的值。

User.IsLoggedIn

User.IsLoggedIn 是一個布林值變數,用來儲存使用者的登入狀態。 true 的值表示使用者已登入。 您可以使用此變數來建立主題中檢查是否成功登入的分支邏輯,或只在使用者登入時,才擷取使用者資訊。

User.AccessToken

警告

確定您只是將 User.AccessToken 變數傳遞給信任的來源。 它包含使用者驗證資訊,如果洩漏的話,可能會損害使用者。

User.AccessToken 變數包含在使用者登入之後所取得的使用者權杖。 您可以將此變數傳遞至 Power Automate 流程,這樣就可以連接至後端 API 並讀取使用者資訊,或代表使用者執行動作。

不要在訊息節點或您不信任的流程中使用 User.AccessToken

SignInReason

SignInReason 是一個選擇類型變數,指示使用者何時必須登入。 其有兩個可能的值:

  • SignInRequired 表示使用者必須在交談開始時使用登入系統主題登入。 必須開啟 Require users to log in (要求用戶登錄)。

  • Initializer 表示當使用者未登入並且到達交談中使用驗證變數的點時,系統會提示他們登入。

您也可以設定單一登入 (SSO),讓您的使用者不需要手動登入。 如需詳細資訊,請參閱使用 Microsoft Entra 識別碼設定單一登入