新增使用者驗證至副手

重要

在對生成式 AI 進行大量投資並增強 Microsoft Copilot 的整合後,Power Virtual Agents 的功能和特性現已成為 Microsoft Copilot Studio 的一部分

當我們更新文件和培訓內容時,某些文章和螢幕擷取畫面可能會參考 Power Virtual Agents。

您可以直接在副手交談中啟用使用者驗證。 使用者驗證是指您可以在變數中取得使用者的基本屬性 (如名稱和識別碼),但也可以提示使用者使用驗證節點登入、擷取該使用者的使用者權杖,然後使用該權杖從後端系統擷取使用者的資訊。

注意

在 Web 應用程式和 Microsoft Teams 中建立的副手,均隨附預先設定的驗證,以使用僅適用於 Teams 和 Power Apps驗證。

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

先決條件

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

使用 Microsoft Entra ID 設定手動驗證

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

  1. 請依照使用 Microsoft Entra ID 設定使用者驗證中的說明進行操作。
  2. 返回此文章。

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

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

  1. 在導覽功能表的設定底下,選取安全性

  2. 選取驗證圖格。

  3. 選取手動 (用於自訂網站),然後選取要求使用者登入

    Microsoft Copilot Studio 驗證頁面的螢幕擷取畫面,其中已選取並反白顯示 [要求使用者登入]。

    登入提示的螢幕擷取畫面。

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

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

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

  1. 在導覽功能表的設定底下,選取安全性

  2. 選取驗證圖格。

  3. 關閉要求使用者登入

  4. 在導覽功能表中,選取主題,然後開啟您要將驗證新增到的主題。

  5. 選取新增節點 (+),選取呼叫動作,然後選取驗證

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

提示

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

驗證變數

為副手設定使用者驗證後,您就可以在主題中使用驗證變數。 下表根據您選擇的驗證選項比較這些變數的可用性。

驗證變數 無驗證 僅適用於 Teams 和 Power Apps 手動
User.DisplayName 不適用 可用 可用
User.FirstName 不適用 可用 可用
User.LastName 不適用 可用 可用
User.PrincipalName 不適用 可用 可用
User.Email 不適用 可用 可用
User.Id 不適用 可用 可用
User.IsLoggedIn 不適用 可用 可用
User.AccessToken 不適用 不適用 可用
SignInReason 不適用 可用 可用

User.DisplayName

警告

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

User.DisplayName 變數包含識別提供者中儲存的顯示名稱。 使用此變數來問候或提及使用者,而不需要使用者明確告知副手其姓名,從而使交談更加個人化。

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

User.Id

警告

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

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

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

User.IsLoggedIn

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

User.AccessToken

警告

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

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

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

SignInReason

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

  • SignInRequired 表示使用者必須在交談開始時使用登入系統主題登入。 要求使用者登入必須已開啟

  • Initializer 表示如果使用者尚未登入,且他們在交談中到達使用驗證變數的地方,則系統會提示他們登入。

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