Uwierzytelnianie użytkowników można włączyć bezpośrednio w konwersacji agenta. Do zmiennych można przypisać podstawowe właściwości użytkownika, takie jak nazwa i identyfikator. Można również poprosić użytkownika o zalogowanie się przy użyciu węzła uwierzytelniania w temacie, który pobiera token użytkownika, a następnie użyć tego tokena do pobrania informacji o użytkowniku z systemu zaplecza.
Uwaga
Agenty utworzone w Copilot Studio i w Microsoft Teams są automatycznie skonfigurowani do uwierzytelniania Microsoft Entra ID.
Dodaj uwierzytelnianie użytkowników do tematu, aby umożliwić klientom logowanie się bezpośrednio w konwersacji. Następnie możesz spersonalizować konwersację przy użyciu zmiennych użytkownika lub uzyskiwać dostęp do systemów zaplecza w imieniu użytkownika.
Konfigurowanie funkcji uwierzytelniania ręcznego za pomocą Tożsamości Microsoft Entra
Aby można było korzystać z uwierzytelniania w Tożsamości Microsoft Entra, należy skonfigurować uwierzytelnianie użytkowników za pomocą identyfikatora.
Dodawanie uwierzytelniania użytkownika przy użyciu tematu Logowanie do systemu
Podczas tworzenia agenta Copilot Studio automatycznie dodaje temat systemowy o nazwie Logowanie. Aby można było korzystać z agenta, należy ustawić jego uwierzytelnianie jako ręczne i wymagać od użytkowników zalogowania się. Kiedy klient rozpoczyna rozmowę z agentem, temat Logowanie jest wyzwalany i monituje użytkownika o zalogowanie. Temat Logowanie można dostosować odpowiednio do potrzeb agenta.
Ważne
Zalecamy, aby temat "Zaloguj się" był używany tylko w celu zapewnienia metody uwierzytelniania dostarczonej przez Copilot Studio. Nie należy go modyfikować w celu wywołania innych akcji, przepływów ani innych metod uwierzytelniania.
Otwórz agenta w Copilot Studio, wybierz opcję Ustawienia w górnej części strony, a następnie wybierz opcję Bezpieczeństwo.
Wybierz Uwierzytelnianie.
Wybierz Uwierzytelnij ręcznie, a następnie wybierz Wymagaj logowania użytkowników.
Dodawanie uwierzytelniania użytkowników za pomocą tematu niestandardowego
Temat Logowanie uwierzytelnia użytkownika na początku rozmowy. Aby umożliwić użytkownikowi późniejsze zalogowanie się, możesz dodać węzeł Uwierzytelnij do dowolnego tematu niestandardowego.
Gdy klienci podają nazwę użytkownika i hasło, może zostać wyświetlony monit o wprowadzenie kodu weryfikacji. Po zalogowaniu się nie są oni ponownie monitowani, nawet jeśli dotrą do innego węzła Uwierzytelniania.
Wybierz opcję Ustawienia w górnej części strony, a następnie wybierz opcję Bezpieczeństwo.
Wybierz kafelek Uwierzytelnianie w sieci Web.
Uwaga
Aby dodać uwierzytelnianie użytkownika do tematu niestandardowego, należy wybrać opcję Uwierzytelniaj ręcznie.
Wyczyść pole wyboru Wymagaj logowania użytkowników.
Przetestuj temat przy użyciu użytkownika skonfigurowanego w dostawcy tożsamości.
Napiwek
Ważne jest, aby tworzyć ścieżki dla sukcesu i niepowodzenia logowania. Logowanie może się nie powieść z wielu powodów, w tym błędów podczas logowania do dostawcy tożsamości.
Zmienne uwierzytelniania
Konfigurując uwierzytelnianie użytkowników dla agent, można używać zmiennych uwierzytelniania w tematach. Poniższa tabela zawiera porównanie dostępności tych zmiennych w oparciu o wybraną opcję uwierzytelniania.
W przypadku tej zmiennej nie ma gwarancji, że zawiera wartość. Przeprowadź test z użytkownikiem z poziomu dostawcy tożsamości, aby upewnić się, że tematy działają poprawnie.
Zmienna User.DisplayName zawiera wyświetlaną nazwę użytkownika przechowywaną w obrębie dostawcy tożsamości. Użyj tej zmiennej, aby powitać użytkownika lub odwołać się do niego bez konieczności jawnego podawania jego nazwy agenta, co zwiększa stopień personalizacji konwersacji.
Usługa Copilot Studio automatycznie ustawia wartość User.DisplayName z oświadczenia name dostarczonego przez dostawcę tożsamości, o ile zakres profile został zdefiniowany podczas konfigurowania uwierzytelniania ręcznego. Aby uzyskać więcej informacji na temat zakresu, zobacz Konfigurowanie uwierzytelniania użytkownika przy użyciu usługi Microsoft Entra ID.
User.Id
Ostrzeżenie
W przypadku tej zmiennej nie ma gwarancji, że zawiera wartość. Przeprowadź test z użytkownikiem z poziomu dostawcy tożsamości, aby upewnić się, że tematy działają poprawnie.
Zmienna User.Id zawiera wyświetlany identyfikator użytkownika przechowywany w obrębie dostawcy tożsamości. Ta wartość może być używana przez przepływy usługi Power Automate do wywołania interfejsów API, które mają identyfikator UserID jako wartość.
Usługa Copilot Studio automatycznie ustawia wartość User.DisplayName na podstawie oświadczenia sub podanego przez dostawcę tożsamości.
User.IsLoggedIn
User.IsLoggedIn to zmienna logiczna przechowująca stan logowania użytkownika. Wartość true wskazuje, że użytkownik jest zalogowany. Zmiennej tej można użyć do utworzenia logiki rozgałęziania w tematach, które wyszukują pomyślne zalogowanie, lub pobierania informacji o użytkowniku tylko wtedy, gdy jest on zalogowany.
User.AccessToken
Ostrzeżenie
Upewnij się, że zmienna User.AccessToken jest przekazywana tylko zaufanym źródłom. Zawiera informacje o uwierzytelnianiu użytkownika, które w przypadku złamania naruszenia zabezpieczeń mogą zaszkodzić użytkownikowi.
Zmienna User.AccessToken zawiera token użytkownika uzyskiwany po jego zalogowaniu. Tą zmienną można przekazać do przepływów usługi Power Automate, tak aby mogły łączyć się z interfejsami API zaplecza i pobierać informacje o użytkowniku lub podejmować działania w imieniu użytkownika.
Nie używaj elementu User.AccessToken w węzłach Wiadomość lub w przepływach, którym nie ufasz.
SignInReason
SignInReason to zmienna typu wyboru, która wskazuje, kiedy użytkownik musi się zalogować. Ma dwie możliwe wartości:
SignInRequired oznacza, że użytkownik musi zalogować się na początku rozmowy przy użyciu funkcji Logowanie w temacie systemowym.
Opcja Wymagaj od użytkowników logowania musi być włączona.
Initializer wskazuje, że gdy użytkownik nie jest zalogowany i osiągnie punkt w konwersacji, który wykorzystuje zmienne uwierzytelniające, zostanie poproszony o zalogowanie się.
Zmienne uwierzytelniania
Jeśli agent jest skonfigurowany z opcjami uwierzytelniania Uwierzytelnianie za pomocą Microsoft lub Ręcznie, w tematach dostępny jest zestaw zmiennych uwierzytelniających. Więcej informacji o konfiguracji uwierzytelnienia w pomocniku znajdziesz w agencie, zobacz Konfigurowanie uwierzytelnienia użytkownika w Copilot Studio.
Poniższa tabela zawiera porównanie dostępności zmiennych uwierzytelniania według opcji konfiguracji uwierzytelniania:
Zmienna uwierzytelniania
Bez uwierzytelniania
Uwierzytelnij za pomocą usługi firmy Microsoft
Ręcznie
User.DisplayName
❌
✔️
✔️
User.Id
❌
✔️
✔️
User.IsLoggedIn
❌
❌
✔️
User.AccessToken
❌
❌
✔️
Zmienna UserDisplayName
Zmienna User.DisplayName zawiera wyświetlaną nazwę użytkownika przechowywaną w obrębie dostawcy tożsamości. Można z niej skorzystać, aby powitać użytkownika końcowego lub odwołać się do niego bez konieczności jawnego informowania agenta o tym, co zwiększa stopień jego personalizacji.
Ta wartość pola jest otrzymana z Tożsamości Microsoft Entra o oświadczeniu name. W przypadku dostawców OAuth jest to wartość przechowywana w oświadczeniu name. Program Copilot Studio automatycznie wyodrębnienia to pole do zmiennej, dlatego należy się upewnić, że element profile stanowi część konfiguracji zakresu uwierzytelnienia.
Zmienna UserID
Zmienna User.Id zawiera wyświetlany identyfikator użytkownika przechowywany w obrębie dostawcy tożsamości. Przepływy Power Automate mogą wykorzystywać tę wartość do wywoływania interfejsów API, które przyjmują UserID jako wartość.
Ta wartość pola jest otrzymana z Tożsamości Microsoft Entra o oświadczeniu sub. W przypadku dostawców OAuth jest to wartość przechowywana w oświadczeniu sub. Program Copilot Studio automatycznie wyodrębnia to pole do zmiennej.
Ostrzeżenie
Wypełnienie zmiennych User.DisplayName i User.Id nie jest gwarantowane. Mogą być one pustymi ciągami w zależności od konfiguracji użytkownika w dostawcy tożsamości. Przeprowadź test z użytkownikiem z poziomu dostawcy identyfikacji, aby upewnić się, że tematy będą działały poprawnie, nawet jeśli te zmienne są puste.
Zmienna IsLoggedIn
Zmienna User.IsLoggedIn wskazuje, czy użytkownik jest zalogowany (albo w wyniku zalogowania, czy był już zalogowany, tzw. ścieżką powodzenia logowania) albo nie zalogował się (co może skutkować ścieżką niepowodzenia logowania).
User.IsLoggedIn to zmienna typu „wartość logiczna” zawierająca stan zalogowanego użytkownika. Zmiennej tej można użyć do utworzenia logiki rozgałęziania w tematach, które wyszukują pomyślne zalogowanie (na przykład w szablonie już dostarczonym jako część dodawania węzła uwierzytelnienia), lub okazyjnego pobierania informacji o użytkowniku tylko wtedy, gdy jest on zalogowany.
Zmienna User.AccessToken
Zmienna User.AccessToken zawiera token użytkownika uzyskiwany po jego zalogowaniu. Tą zmienną można przekazać do przepływów usługi Power Automate, tak aby mogły łączyć się z interfejsami API zaplecza i pobierać informacje o użytkowniku lub podejmować działania w imieniu użytkownika.
Ostrzeżenie
Upewnij się, że zmienna User.AccessToken jest przekazywana tylko zaufanym źródłom. Zawiera informacje o uwierzytelnianiu użytkownika, które w przypadku złamania naruszenia zabezpieczeń mogą zaszkodzić użytkownikowi.
Nie należy używać elementu User.AccessToken wewnątrz węzłów Komunikat lub niezaufanych przepływów.
Testowanie zmiennych uwierzytelniania
Domyślnie okienko Przetestuj bota będzie używać konta aktualnie zalogowanego użytkownika, aby zapełnić listy zmiennych User.DisplayName i User.Id. Podczas testowania tematów, które korzystają z uwierzytelniania, można jednak użyć innych wartości tych zmiennych (lub nawet pustej wartości).
Można na przykład przetestować sposób, w jaki są używane znaki specjalne, lub co się dzieje, jeśli zmienna jest pusta.
W poniższej tabeli wymieniono polecenia, które będą wypełniać pola tymi zmiennymi. Polecenia te mają zastosowanie tylko do panelu Testuj bota; nie można ich używać w opublikowanym agencie wdrożonym na kanale.
Wprowadź polecenie w okienku Przetestuj bota tak samo, jak podczas normalnej rozmowy z agentem. Jeśli Ci się uda, otrzymasz komunikat od agenta z potwierdzeniem. Jeśli agent nie używa uwierzytelniania, pojawi się błąd.
Jeśli okienko Przetestuj bota zostanie zresetowane (lub użytkownik wprowadzi zmiany w temacie, które powodują automatyczne zresetowanie funkcji Przetestuj bota), konieczne będzie ponowne wysłanie poleceń.
Zmienna
Wartość niestandardowa — polecenie
Polecenie —pusta (blank) wartość
User.DisplayName
/debug set bot.UserDisplayName "Value"
/debug set bot.UserDisplayName ""
User.Id
Niedostępny
/debug set bot.UserID ""
Ważne
Ze względów bezpieczeństwa nie można wypełnić zmiennej User.Id wartością niestandardową (inną niż pusta lub pusta wartość).
Uwierzytelnianie przy użyciu opcji „Uwierzytelnianie przez Microsoft”
Jeśli opcja uwierzytelniania jest ustawiona Uwierzytelnianie za pomocą Microsoft, nie trzeba jawnie dodawać uwierzytelniania do tematów. W tej konfiguracji każdy użytkownik w programie Microsoft Teams jest automatycznie logowany za pośrednictwem poświadczeń Teams i nie musi jawnie zalogować się przy użyciu karty uwierzytelniania. Jeśli opcja uwierzytelniania jest ustawiona na Ręczne, konieczne będzie dodanie węzła uwierzytelnienia (nawet w przypadku kanału aplikacji Teams).
Uwaga
Jeśli opcja uwierzytelniania jest ustawiona na Uwierzytelnianie z Microsoft, nie można jawnie dodawać uwierzytelniania do tematów.
Dodawanie uwierzytelniania użytkowników do tematu
Węzeł Uwierzytelnianie monituje użytkownika o zalogowanie się przy użyciu karty logowania. Po zalogowaniu się użytkownik nie jest już monitowany, nawet jeśli dotrze do innego węzła Uwierzytelniania.
Gdy użytkownik wprowadzi swoją nazwę użytkownika i hasło w monicie (hostowanym przez dostawcę tożsamości), może zostać poproszony o wprowadzenie kodu walidacji w zależności od kanału. Niektóre kanały, takie jak Microsoft Teams, nie wymagają od użytkownika wprowadzenia kodu walidacji przez użytkownika.
Jeśli Twój agent ma skonfigurowane logowanie jednokrotne, użytkownik nie będzie monitowany o zalogowanie się.
Dodanie węzła uwierzytelniania do tematu:
Przejdź do karty Tematy dotyczące agenta, którego chcesz edytować.
Otwórz temat, do którego chcesz dodać szablon uwierzytelniania.
Uwaga
Jeśli agent jest połączona z aplikacją Dynamics 365 Customer Service, węzeł Uwierzytelnianie nie może być częścią ścieżki rozmowy, którą agent śledzi podczas początkowego powitania użytkowników. W przeciwnym razie karta logowania zostanie pokazana dwa razy. Zamiast tego należy dodać węzeł uwierzytelnienia do innego tematu, który jest wyzwalany przez odpowiedź użytkownika.
Wybierz Dodaj węzeł (+), aby dodać węzeł komunikatu. Wprowadź tekst, który agent powinien wypowiedzieć, aby wskazać, że nastąpi operacja logowania.
Pod węzłem wiadomości wybierz ikonę plusa Add node (+), wybierz opcję Wywołaj akcję, a następnie wybierz opcję Uwierzytelnienie.
Uwaga
Węzeł Uwierzytelnianie jest dostępny w selektorze akcji na końcu drzewa dialogu (jako węzeł typu liść). Nie może być dodany w połowie okna dialogowego. Po dodaniu można dodać do niego inne węzły.
Nowe węzły pojawiają się automatycznie: węzeł nadrzędny Uwierzytelniania, a następnie węzły dla ścieżki sukcesu i ścieżki niepowodzenia.
Użycie zmiennej User.AccessToken bez węzła uwierzytelniania
Zmienne User.IsLoggedIn i User.AccessToken są dostępne nawet wtedy, gdy nie jest używany szablon dostarczony przez wpis menu Wywołaj akcję. Jeśli przekażesz zmienną User.AccessToken bez wcześniejszego przejścia przez użytkownika przez węzeł uwierzytelniania, zostanie wyświetlony monit o zalogowanie się użytkownika w tym kroku.
Przekazanie zmiennej User.AccessToken może być przydatne, jeśli użytkownik ma być zawsze zalogowany lub jeśli użytkownik jest przekierowywany z innego tematu. Sugerujemy, aby użyć szablonu określonego przez wpis Wywołaj akcję w celu obsługi przypadków, dla których użytkownik nie może się zalogować.
Uwaga
Jeśli użytkownik wyloguje się w środku konwersacji, będzie monitowany o ponowne zalogowanie się, jeśli temat znajdzie się w węźle, który korzysta ze zmiennej User.AccessToken.
Ścieżka powodzenia
Ścieżka powodzenia jest równa miejscu, w którym zmienna User.IsLoggedIn = True, i wskazuje, czy użytkownik został pomyślnie zalogowany (lub był zalogowany wcześniej).
Jeśli korzystasz z logiki używającej zmiennej User.AccessToken (na przykład do łączenia się z systemem zaplecza przy użyciu przepływu w celu pobrania informacji o użytkowniku), powinno się ją znaleźć pod tą ścieżką.
Ścieżka niepowodzenia
Ścieżka niepowodzenia jest równa dowolnemu warunkowi innemu niż IsLoggedIn = True. W większości przypadków ścieżka niepowodzenia jest spowodowana błędem logowania użytkownika przy użyciu niewłaściwego hasła lub anulowanym doświadczeniem podczas logowania.
Dodaj dowolną logikę, nad którą chcesz pracować w tej sprawie. Jako przykład udostępniliśmy opcje ponawiania próby lub eskalacji do prawdziwego przedstawiciela. Dostosuj akcje ścieżki niepowodzenia do konkretnego scenariusza i sposobu korzystania.
Testowanie tematu
Należy upewnić się, że przetestowano temat przy użyciu prawdziwego użytkownika skonfigurowanego we własnym dostawcy tożsamości. Upewnij się, że ścieżki powodzenia i niepowodzenia logowania są wykonywane, aby nie było niespodzianek, gdy użytkownikowi nie uda się zalogować, lub gdy wystąpi błąd dotyczący sposobu logowania się dla dostawcy tożsamości.