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 copilot lägger Copilot Studio automatiskt till ett systemämne kallat Inloggning. För att använda det måste du ställa in autentisering till manuell för din copilot och kräva att användarna loggar in. När en kund startar en konversation med copilot utlöses ämnet Inloggning och uppmanar användaren att logga in. Det går att anpassa ämnet Inloggning efter behov lämpligt för din copilot.
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 copilot i Copilot Studio och välj Inställningar högst upp på sidan och välj sedan Säkerhet.
Välj Autentisering.
Välj Autentisera manuellt och välj sedan Kräv att användare loggar in.
Konfigurera alla fält för manuell autentisering 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 uppmanas de inte att göra det igen, även om de når en annan Authenticate-nod .
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 fält för manuell autentisering efter behov.
Välj Spara.
Välj Redigera högst upp på sidan.
Välj Lägg till nod () >Avancerat>Autentisera.
Testa ditt ämne med en användare som konfigurerats med din identitetsleverantör.
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 copilot 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 finns i Arbeta med variabler.
Variabel för autentisering |
Ingen autentisering |
Autentisera med Microsoft |
Autentisera manuellt |
Användare.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 (på engelska) |
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.
Variabeln User.DisplayName
innehåller det visningsnamn som lagras i identitetsprovidern. Använd den här variabeln för att hälsa på eller referera till användaren utan att de behöver ange sitt namn explicit till copilot, 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.
Variabeln User.Id
innehåller det användar-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 variabel av valtyp 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 copilot har konfigurerats med 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 din copilot finns i Konfigurera användarautentisering i Copilot Studio.
I följande tabell jämförs autentiseringsvariabelns tillgänglighet efter alternativ för autentiseringskonfiguration:
Variabel för autentisering |
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 som hälsningsfras eller för att referera till slutanvändaren utan att de uttryckligen behöver tala med copilot, vilket gör den mer personanpassad.
Värdet i det här fältet hämtas från Microsoft Entra ID name
-anspråket. För OAuth leverantörer lagras det här värdet i anspråket name
. 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. Power Automate flöden kan använda det här värdet för att 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 leverantörer lagras det här värdet i anspråket sub
. Copilot Studio extraherar automatiskt fältet till variabeln.
Varning
Variablerna och User.DisplayName
är inte garanterade User.Id
att fyllas i 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 på grund av att han eller hon har loggat in eller redan är inloggad, även kallat sökvägen till lyckad inloggning) eller inte inloggad (vilket skulle resultera i sökvägen till inloggningsfelet).
User.IsLoggedIn
är en boolesk variabel 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 Testrobotenfönstret kontot för den inloggade användaren för att fylla i variablerna User.DisplayName
och User.Id
. 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 kommandona för att fylla i dessa variabler. Dessa kommandon gäller endast för fönstret Testrobot ; du kan inte använda dem i en publicerad copilot som distribueras till en kanal.
Ange önskat kommando irutan Testrobot precis som du skulle göra om du normalt chattade med andrepiloten. Om det lyckas får du ett bekräftelsemeddelande från copilot. Om din copilot inte använder autentisering får du ett felmeddelande.
Om du återställer fönstret Testrobot (eller om du gör ändringar i ett ämne som gör att Testroboten å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äkerhetsskäl kan du inte fylla User.Id
i variabeln med ett anpassat värde (annat än ett tomt eller tomt värde).
Autentisering när du använder "Autentisera med Microsoft"
Om ditt autentiseringsalternativ ä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 ditt autentiseringsalternativ är inställt på Manuell måste du lägga till en Authenticate-nod (även för Teams-kanalen).
Obs
Om ditt autentiseringsalternativ är inställt på Autentisera med Microsoft har du inte möjlighet att uttryckligen lägga till autentisering i dina ämnen.
Lägg till slutanvändarautentisering i ett ämne
Noden Autentisera uppmanar en användare att logga in med ett kort för inloggning. När en användare har loggat in uppmanas de inte igen, även om de når en annan Authenticate-nod .
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 ingen valideringskod från användaren.
När din copilot har SSO konfigurerat, blir användaren inte ombedd att logga in.
Så här lägger du till en Authenticate-nod i ämnet:
Gå till sidan Ämnen för copilot som du vill redigera.
Öppna det ämne som du vill lägga till autentiseringsmallen i.
Obs
Om din copilot är ansluten till Dynamics 365 Customer Service kan noden Autentisering inte vara en del av konversationsvägen som copilot följer när användare hälsas för första gången. I annat fall visas inloggningskortet två gånger. I stället bör du lägga till noden Autentisera i ett annat ämne som utlöses av ett svar från användaren.
Välj Lägg till nod (+) för att lägga till en meddelandenod. Ange vad copilot säger för att indikera att en inloggning snart att äger rum.
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 autentisera nod, följt av noder för en lyckad väg och en felsökväg.
User.AccessToken-användning utan en Authenticate-nod
Variablerna User.IsLoggedIn
och User.AccessToken
är tillgängliga även om du inte använder mallen som tillhandahålls av menyalternativet Anropa en åtgärd . Om du skickar variabeln User.AccessToken
utan att först låta användaren gå via noden Autentisera uppmanas användaren att logga in i det steget.
Det kan vara användbart att skicka variabeln User.AccessToken
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 i en konversation uppmanas de att logga in igen om ämnet kommer till en nod som använder variabeln User.AccessToken
.
Sökväg för Genomfört
Framgångssökvägen motsvarar var User.IsLoggedIn = True
och konton för när användaren har loggat in (eller redan var inloggad).
Om du har logik som använder variabeln User.AccessToken
(till exempel för att ansluta till ett backend-system med hjälp av ett flöde för att hämta en användares information) bör den gå under den här sö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 beror felsökvägen på att användaren inte kunde logga 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 sökvägarna för lyckade och misslyckade inloggningar används, så att Dit inte blir några överraskningar om användaren inte kan logga in eller om Dit ett fel med identitetsproviderns inloggningsupplevelse.