Lägg till användarautentisering i ett ämne så att kunderna kan logga in direkt i en konversation. Du kan sedan anpassa konversationen med användarvariabler och få åtkomst till system på serversidan för användarens räkning.
Du måste konfigurera användarautentisering med Microsoft Entra ID innan du kan använda autentisering i dina avsnitt.
Följ anvisningarna i Konfigurera användarautentisering med Microsoft Entra ID.
Lägg till användarautentisering med inloggningssystemet ämne
När du skapar en handläggare Copilot Studio läggs automatiskt en systemämne som heter logga in. För att använda den måste du ställa in din handläggare:s autentisering till manuell och kräva att användarna loggar in. När en kund startar en konversation med handläggare utlöses inloggningen ämne och uppmanar användaren att logga in. Du kan anpassa inloggningen ämne efter behov för din handläggare.
Viktigt
Vi rekommenderar att ämnet Logga in bara används för att tillhandahålla den autentiseringsmetod som tillhandahålls av Copilot Studio. Den bör inte ändras så att den anropar andra åtgärder eller flöden, eller andra autentiseringsmetoder.
Öppna din handläggare i Copilot Studio Välj Inställningar högst upp på sidan och sedan Välj Säkerhet.
Välj Autentisering.
Välj Autentisera manuellt och välj sedan Kräv att användare loggar in.
Konfigurera alla manuella autentiseringsfält efter behov.
Välj Spara.
Lägg till slutanvändarautentisering med anpassat ämne
Ämnet Inloggning autentiserar användaren i början av konversationen. Om du vill tillåta användaren att logga in senare kan du lägga till en nod för autentisering till ett anpassat ämne.
När kunderna anger sina användarnamn och lösenord kan de uppmanas att ange en verifieringskod. När de har loggat in tillfrågas de inte igen, även om de når en annan Autentiseringsnod.
Välj Inställningar högst upp på sidan och välj sedan Säkerhet.
Välj panelen Webbautentisering.
Kommentar
Du måste välja Autentisera manuellt om du vill lägga till användarautentisering till ett anpassat ämne.
Avmarkera kryssrutan Kräv att användare loggar in .
Konfigurera alla manuella autentiseringsfält efter behov.
Välj Spara.
Välj Redigera högst upp på sidan.
Välj Lägg till nod () >Avancerat>Autentisera.
Testa din logik med hjälp av en användare som konfigurerats med din identitetsprovider.
Dricks
Det är viktigt att du skapar sökvägar för både inloggningsframgång och fel för att logga in. En inloggning kan misslyckas av flera orsaker, till exempel för fel i identitetsleverantörens inloggning.
Autentiseringsvariabler
När du konfigurerar användarautentisering för din handläggare kan du använda autentiseringsvariabler i dina ämnen. I följande tabell jämförs tillgängligheten av dessa variabler baserat på autentiseringsalternativ:
Mer information om variabler hittar du i Arbeta med variabler.
Autentiseringsvariabel |
Ingen autentisering |
Autentisera med Microsoft |
Autentisera manuellt |
User.DisplayName |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.FirstName |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.LastName |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.PrincipalName |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.Email |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.Id |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.IsLoggedIn |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.AccessToken |
Inte tillgängliga |
Inte tillgängliga |
Tillgängligt |
SignInReason |
Inte tillgängliga |
Tillgängligt |
Tillgängligt |
User.DisplayName
Varning
Den här variabeln kommer inte garanterat att innehålla ett värde. Testa med en användare från din identitetsprovider för att se till att dina ämnen fungerar korrekt.
User.DisplayName
-variabeln innehåller visningsnamn som lagras i identitetsprovidern. Använd den här variabeln för att hälsa eller referera till användaren utan att de uttryckligen behöver ge sitt namn till handläggare, vilket gör konversationen mer personlig.
Copilot Studio anger automatiskt värdet User.DisplayName
från det name
anspråk som identitetsleverantören uppger, förutsatt att profile
omfattningen har definierats när manuell autentisering konfigurerades. Mer information om omfattning finns i Konfigurera användarautentisering med Microsoft Entra ID.
User.Id
Varning
Den här variabeln kommer inte garanterat att innehålla ett värde. Testa med en användare från din identitetsprovider för att se till att dina ämnen fungerar korrekt.
User.Id
-variabeln innehåller användarens ID som lagras i identitetsprovidern. Använd denna variabel i Power Automate-flöden för anropa API:er som tar UserID som ett värde.
Copilot Studio anger automatiskt värdet User.DisplayName
från sub
anspråket som ges av identitetsleverantören.
User.IsLoggedIn
User.IsLoggedIn
är en boolesk variabel som lagrar användarens inloggningsstatus. Värdet true
anger att användaren är inloggad. Du kan använda den här variabeln för att skapa förgreningslogik som söker efter en lyckad inloggning eller för att på hämta användarinformation bara om användaren är inloggad.
User.AccessToken
Varning
Se till att bara skicka User.AccessToken
-variabeln till pålitliga källor. Den innehåller information om användarautentisering som kan skada användaren om den komprometteras.
User.AccessToken
-variabeln innehåller användarens token som skapats efter det att användaren har loggat in. Du kan skicka denna variabel till Power Automate-flöden så att de kan ansluta till API:er för serversystem och hämta användarinformation, eller också utföra åtgärder å användarens vägnar.
Använd inte User.AccessToken
i Meddelande-noder eller för flöden som du inte litar på.
SignInReason
SignInReason
är en alternativtyp variabel som anger när användaren måste logga in. Den har två möjliga värden:
SignInRequired
anger att användaren måste logga in i början av konversationen med hjälp av systemämnet Logga in. Kräv att användare loggar in måste vara aktiverat.
Initializer
anger att när en användare inte är inloggad och de når en punkt i konversationen som använder autentiseringsvariabler, uppmanas de att logga in.
Autentiseringsvariabler
Om din handläggare har konfigurerats med antingen alternativen Autentisera med Microsoft eller Manuell autentisering har du en uppsättning autentiseringsvariabler tillgängliga i dina ämnen. Mer information om hur du konfigurerar autentisering i handläggare finns i Konfigurera användarautentisering i Copilot Studio.
I följande tabell jämförs autentiseringsvariabelns tillgänglighet efter alternativ för autentiseringskonfiguration:
Autentiseringsvariabel |
Ingen autentisering |
Autentisera med Microsoft |
Manuellt |
User.DisplayName |
❌ |
✔️ |
✔️ |
User.Id |
❌ |
✔️ |
✔️ |
User.IsLoggedIn |
❌ |
❌ |
✔️ |
User.AccessToken |
❌ |
❌ |
✔️ |
UserDisplayName-variabel
User.DisplayName
-variabeln innehåller användarens visningsnamn som lagras i identitetsprovidern. Du kan använda den här variabeln för att hälsa på eller referera till slutanvändaren utan att de uttryckligen behöver berätta för handläggare, vilket gör den mer personlig.
Värdet i det här fältet hämtas från Microsoft Entra ID name
-anspråket. För OAuth-providers är detta värdet som lagras i name
-anspråket. Copilot Studio extraherar automatiskt detta fält till variabeln, så se till att du har en profile
som en del av konfigurationen av autentiseringsomfattningen.
UserID-variabel
User.Id
-variabeln innehåller användarens ID som lagras i identitetsprovidern. Det här värdet kan användas av Power Automate-flöden för anropa API:er som tar UserID som ett värde.
Värdet i det här fältet hämtas från Microsoft Entra ID sub
-anspråket. För OAuth-providers är detta värdet som lagras i sub
-anspråket. Copilot Studio extraherar automatiskt fältet till variabeln.
Varning
Variablerna User.DisplayName
och User.Id
är inte garanterat ifyllda, och kan vara tomma strängar beroende på användarkonfigurationen i identitetsprovidern. Testa med en användare från din identifieringsprovider för att se till att dina ämnen fungerar korrekt, även om dessa variabler är tomma.
IsLoggedIn-variabel
Variabeln User.IsLoggedIn
anger om användaren är inloggad (antingen för att logga in eller redan loggat in, även kalladsökväg för inloggning) eller inte inloggad (vilket skulle resultera isökvägen till inloggningsfelet).
User.IsLoggedIn
är en variabel av boolesk typ som innehåller användarens inloggade status. Du kan använda den här variabeln för att skapa förgreningslogik som söker efter en lyckad inloggning (t.ex. i mallen som redan finns som en del av att noden Autentisering läggs till), eller för att på hämta användarinformation bara om användaren är inloggad.
User.AccessToken-variabel
User.AccessToken
-variabeln innehåller användarens token som skapats efter det att användaren har loggat in. Du kan skicka denna variabel till Power Automate-flöden så att de kan ansluta till API:er för serversystem och hämta användarinformation, eller också utföra åtgärder å användarenssökvägnar.
Varning
Se till att bara skicka User.AccessToken
-variabeln till pålitliga källor. Den innehåller information om användarautentisering som kan skada användaren om den komprometteras.
Använd inte User.AccessToken
i Meddelande-noder eller för flöden som du inte litar på.
Testa autentiseringsvariabler
Som standard använder fönstret Testrobot kontot för den inloggade användaren för att fylla i User.DisplayName
och User.Id
variablerna. Men när du testar avsnitt som använder autentisering kanske du vill använda andra värden för dessa variabler (eller till och med ett tomt värde).
Du kan till exempel testa hur specialtecken används eller vad som händer om variabeln är tom.
I följande tabell visas de kommandon som ska fyllas i dessa variabler. Dessa kommandon gäller endast för Testrobot fönstret; du kan inte använda dem i en publicerad handläggare som distribueras till en kanal.
Ange önskat kommando i rutan Testrobot precis som du skulle göra om du normalt chattade med handläggare. Du kommer att få ett bekräftelsemeddelande från handläggare om du lyckas. Om din handläggare inte använder autentisering får du ett felmeddelande.
Om du återställer rutan Testrobot (eller gör ändringar i en ämne som gör att Testrobot återställs automatiskt), måste du skicka kommandona igen.
Variabel |
Kommandot anpassat värde |
Tomt värdekommando |
User.DisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
User.Id |
Inte tillgängliga |
/debug set bot.UserID "" |
Viktigt
Av säkerhetskäl kan du inte fylla i variabeln User.Id
med ett anpassat värde (annat än ett tomt värde).
Autentisering vid användning av "Autentisera med Microsoft"
Om autentiseringsalternativet är inställt på Autentisera med Microsoft behöver du inte uttryckligen lägga till autentisering i dina ämnen. I den här konfigurationen loggas alla användare i Microsoft Teams in automatiskt via sina Teams-autentiseringsuppgifter, och behöver inte uttryckligen logga in med ett autentiseringskort. Om du har angett autentiseringsalternativet Manuellt måste du lägga till autentiseringsnoden (även för Teams-kanalen).
Obs
Om autentiseringsalternativet är inställt på Autentisera med Microsoft kan du inte uttryckligen lägga till autentisering i dina ämnen.
Lägg till slutanvändarautentisering i ett ämne
Autentiseringsnoden uppmanar en användare att logga in med ett inloggningskort. När de har loggat in tillfrågas de inte igen, även om de når en annan Autentiseringsnod.
När användaren har angett sitt användarnamn och lösenord i prompten (som finns i identitetsprovidern) uppmanas den kanske att ange en valideringskod beroende på kanal. Vissa kanaler, till exempel Microsoft Teams, kräver inte att användaren anger någon valideringskod.
När din handläggare har konfigurerat SSO uppmanas användaren inte att logga in.
För att lägga till en autentiseringsnod i ditt ämne:
Gå till sidan Ämnen för den handläggare du vill redigera.
Öppna ämnet där du vill lägga till autentiseringsmallen.
Obs
Om din handläggare är ansluten till Dynamics 365 kundtjänst kan noden Autentisering inte vara en del av konversationssökvägen som handläggare följer när användarna först hälsas välkomna, annars visas inloggningsnoden kort två gånger. Istället bör du lägga till noden Autentisera i ett annat ämne som utlöses av ett användarsvar.
Välj Lägg till nod (+) för att lägga till en meddelandenod. Ange vad handläggare ska säga för att indikera att en inloggning är på väg att inträffa.
Under meddelandenoden väljer du Lägg till nod (+), väljer Anropa en åtgärd och sedan Autentisera.
Kommentar
Noden Autentisera är endast tillgänglig i åtgärdsväljaren i slutet av ett dialogträd (som en lövnod). Det går inte att lägga till den i mitten av en dialog. När den har lagts till kan andra noder läggas till under den.
Nya noder visas automatiskt: en överordnad Autentiseringsnod följt av noder både för en lyckad och misslyckad sökväg.
Uder.AccesToken-användning utan autentiseringsnod
Variablerna User.IsLoggedIn
och User.AccessToken
är tillgängliga även om du inte använder mallen som visas i menyalternativet Anropa åtgärd. Om du skickar User.AccessToken
-variabeln utan att först tvinga användaren att gå igenom via Autentisera uppmanas användaren att logga in i det steget.
Att skicka variabeln User.AccessToken
kan vara praktiskt om du alltid förväntar dig att användaren ska vara inloggad eller om användaren omdirigeras från ett annat ämne. Vi föreslår att du använder mallen från posten Anropa en åtgärd för att behandla ärenden där användaren inte kan logga in.
Kommentar
Om användaren loggar ut mitt under en konversation ombeds denne att logga in igen om ämnet når en nod som använder User.AccessToken
-variabeln.
Sökväg för Genomfört
Sökvägen är lika med User.IsLoggedIn = True
och konton för när användaren har loggat in (eller redan var inloggad).
Logik som använder User.AccessToken
-variabeln (t.ex. för att ansluta till ett serversystem med ett flöde i syfte att hämta en användares information) bör användas med den härsökvägen.
Sökväg till misslyckande
Sökvägen till misslyckande är kikställt med ett annat villkor än IsLoggedIn = True
. I de flesta fall inträffarsökvägen till felet eftersom användaren inte loggade in, använde fel lösenord eller avbröt inloggningen.
Lägg till logik du kanske vill behandla ärendet i. Vi har till exempel tillhandahållit alternativ för att försöka igen eller eskalera till en live-handläggare. Anpassa åtgärder försökvägen till felet för just din situation och användning.
Testa ditt ämne
Kontrollera att du testar ämnet med hjälp av en riktig användare som konfigurerats i identitetsleverantören. Se till att både lyckade och misslyckade inloggningar utnyttjas för att undvika obehagliga överraskningar om din användare misslyckas med att logga in eller om det uppstår ett fel i identitetsproviderns inloggningsupplevelse.