共用方式為


將使用者驗證新增至主題

您可以直接在副手交談中啟用使用者驗證。 您可以將使用者的基本屬性 (如名稱和 ID) 分配給變數。 您還可以提示使用者使用 主題 中的身份驗證節點登錄,該節點將檢索使用者令牌,然後使用該令牌從後端系統檢索用戶的資訊。

注意

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

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

先決條件

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

使用 Microsoft Entra ID 設定手動驗證

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

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

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

建立副手時,Copilot Studio 會自動新增一個名為登入的系統主題。 若要使用它,您必須將副手的驗證設定為手動,並要求使用者登入。 當客戶開始與副手交談時,即會觸發登入主題並提示使用者登入。 您可以根據副手的情況自訂登入主題。

重要

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

  1. 在 Copilot Studio 中打開副手後,選取頁面頂部的設定,然後選取安全性

  2. 選取驗證

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

  4. 根據需要配置所有手動身份驗證欄位

  5. 選取儲存

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

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

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

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

  2. 選取驗證圖格。

    注意

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

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

  4. 根據需要配置所有手動身份驗證欄位

  5. 選取儲存

  6. 選取頁面頂端的主題

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

  8. 使用配置了您的身份供應商的用戶測試您的 主題

提示

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

驗證變數

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

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

身份驗證變數 無驗證 使用 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 變數包含存儲在身份提供程式中的使用者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 是一個 choice 類型的變數,指示使用者何時必須登錄。 其有兩個可能的值:

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

  • Initializer 表示當使用者未登錄,並且他們到達使用身份驗證變數的對話中的 指向 時,系統會提示他們登錄。

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