Indsæt brugergodkendelse i et emne for at give kunderne mulighed for at logge direkte på i en samtale. Du kan derefter bruge disse variabler til at tilpasse samtalen for brugeren eller få adgang til back end-systemer på brugerens vegne.
Du skal konfigurere brugergodkendelse med Microsoft Entra ID, før du kan bruge godkendelse i emnerne.
- Følg instruktionerne i Konfiguration af brugergodkendelse med Microsoft Entra ID.
- Vend tilbage til denne artikel.
Tilføj brugergodkendelse med logonsystemets emne
Når du opretter en copilot, tilføjer Microsoft Copilot Studio automatisk et system, emne kaldes Signin. Før du kan bruge den, skal du indstille copilotens godkendelse til at være manuel og kræve, at brugerne logger på. Når en kunde starter en samtale med copiloten, udløses emnet Logon og beder brugeren om at logge på. Du kan tilpasse emnet Signin efter behov til din copilot.
Vælg Sikkerhed under Indstillinger i navigationsmenuen.
Vælg feltet Godkendelse.
Vælg Manuel (til brugerdefineret websted), og vælg derefter Kræv brugere for at logge på.
Tilføje brugergodkendelse med brugerdefineret emne
Emnet Log på godkender brugeren i starten af samtalen. Hvis brugeren skal kunne logge på senere, kan du føje en godkendelsesnode til alle brugerdefinerede emne.
Når kunder angiver brugernavn og adgangskode i prompten, bliver de muligvis bedt om at angive en valideringskode. Når de er logget på, bliver brugeren ikke bedt om at angive den igen, heller ikke selvom brugeren er nået til en anden godkendelsesnode.
Vælg Sikkerhed under Indstillinger i navigationsmenuen.
Vælg feltet Godkendelse.
Deaktiver Anmod, at brugere logger på.
Vælg Emner i navigationsmenuen, and åbn derefter det emne, som du vil skifte til.
Vælg Tilføj node (+), vælg Kald en handling, og vælg derefter Godkend.
Test dit emne med en bruger, der er konfigureret i identitetsudbyderen.
Tip
Det er vigtigt, at du opretter veje til både succes med logon og fejl. En bruger kan af mange årsager ikke logge på, herunder fejl med identitetsudbyderens logonoplevelse.
Godkendelsesvariable
Når du har konfigureret brugergodkendelse for din copilot, kan du bruge godkendelsesvariabler i dine emner. I følgende tabel sammenlignes tilgængeligheden af disse variabler baseret på godkendelsesindstillingen.
Godkendelsesvariabel |
Ingen godkendelse |
Kun til Teams og Power Apps |
Manuelt |
User.DisplayName |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.FirstName |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.LastName |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.PrincipalName |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.Email |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.Id |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.IsLoggedIn |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.AccessToken |
ikke tilgængelig |
ikke tilgængelig |
tilgængelig |
SignInReason |
ikke tilgængelig |
tilgængelig |
tilgængelig |
User.DisplayName
Advarsel!
Det er ikke sikkert, at denne variabel indeholder en værdi. Test med en bruger fra din identifikationsudbyder for at sikre, at emnet fungerer korrekt.
Variablen User.DisplayName
indeholder brugerens viste navn, som er gemt i identitetsudbyderen. Brug denne variabel til at hilse brugeren velkommen eller henvise til brugeren uden eksplicit at navngive copiloten, hvilket gør den mere personlig.
Microsoft Copilot Studio angiver automatisk værdien for User.DisplayName
fra den værdi name
, der angives fra den identitetsudbyder, så længe profile
-omfanget blev defineret, da manuel godkendelse blev konfigureret. Du kan finde flere oplysninger om omfang i Konfigurere brugergodkendelse med Microsoft Entra ID.
User.Id
Advarsel!
Det er ikke sikkert, at denne variabel indeholder en værdi. Test med en bruger fra din identifikationsudbyder for at sikre, at emnet fungerer korrekt.
Variablen User.Id
indeholder den bruger-id, som er gemt i identitetsudbyderen. Brug denne variabel i Power Automate-flows til at kalde et API, der udfører UserID som værdi.
Microsoft Copilot Studio indstiller automatisk værdien i User.DisplayName
fra sub
-kravet fra identitetsudbyderen.
User.IsLoggedIn
User.IsLoggedIn
er en variabel af typen bolesk, der opbevarer brugerens login-status. Værdien for true
angiver, at brugeren er logget på. Du kan bruge denne variabel til at oprette forgreningslogik i de emner, der kontrollerer, om brugeren har haft logon eller til opportunistisk at hente brugeroplysninger, men kun hvis brugeren er logget på.
User.AccessToken
Advarsel!
Sørg for, at du kun overfører User.AccessToken
-variablen til kilder, du har tillid til. Den indeholder oplysninger om brugergodkendelse, som kan skade brugeren, hvis den er kompromitteret.
Variablen User.AccessToken
indeholder brugerens token, som hentes, efter at brugeren er logget på. Du kan overføre denne variabel til Power Automate-flows, så de kan forbindes til back-end-API'er og hente brugerens oplysninger eller udføre handlinger på brugerens vegne.
Brug ikke User.AccessToken
i Meddelelse-noder eller i flows, som du ikke har tillid til.
SignInReason
SignInReason
er en variabel af typen Choice, der angiver, hvornår brugeren skal logge på. Den har to mulige værdier:
SignInRequired
angiver, at brugeren skal logge på i starten af samtalen ved hjælp af systememnet Log på. Kræver, at brugere, der logger på skal aktiveres.
Initializer
angiver, at brugeren endnu ikke er logget på, og hvis de når et punkt i samtalen, hvor der bruges godkendelsesvariabler, bliver brugeren bedt om at logge på.
Godkendelsesvariable
Hvis din robot er konfigureret med godkendelsesindstillingerne Kun til Teams og Power Apps eller Manuel, har du et sæt godkendelsesvariabler til din rådighed i dine emner. Se i dokumentationen til konfiguration af godkendelse for at få flere oplysninger om, hvordan du konfigurerer godkendelser i din bot.
I følgende tabel sammenlignes tilgængeligheden af godkendelsesvariable under konfigurationsindstillingen for godkendelse:
Godkendelsesvariabel |
Ingen godkendelse |
Kun til Teams og Power Apps |
Manuelt |
UserDisplayName |
❌ |
✔️ |
✔️ |
UserID |
❌ |
✔️ |
✔️ |
IsLoggedIn |
❌ |
❌ |
✔️ |
AuthToken |
❌ |
❌ |
✔️ |
Variablen UserDisplayName
Variablen UserDisplayName
indeholder brugerens viste navn, som er gemt i identitetsudbyderen. Du kan bruge denne variabel til at hilse velkommen eller henvise til slutbrugeren uden at de skal eksplicit skal sige det til botten, hvilket gør den mere personlig.
Værdien i dette felt hentes fra kravet Microsoft Entra ID name
. For OAuth-udbydere er dette den værdi, der gemmes i kravet name
. Microsoft Copilot Studio udtrækker automatisk dette felt i variablen, så kontrollér, at du har profile
som en del af din konfiguration af godkendelsesområdet.
Variablen UserID
Variablen UserID
indeholder brugerens id, som er gemt i identitetsudbyderen. Denne værdi kan bruges af Power Automate-flow til at kalde et API, der udfører "UserID" som værdi.
Værdien i dette felt hentes fra kravet Microsoft Entra ID sub
. For OAuth-udbydere er dette den værdi, der gemmes i kravet sub
. Microsoft Copilot Studio udtrækker automatisk dette felt til variablen.
Advarsel!
Variablene UserDisplayName
og UserID
er ikke nødvendigvis udfyldte, og de kan være tomme strenge, der afhænger af brugerkonfigurationen i identitetsudbyderen. Test med en bruger fra din identifikationsudbyder for at sikre, at emnerne fungerer korrekt, også selvom disse variabler er tomme.
IsLoggedIn-variablen
Variablen IsLoggedIn
angiver, om brugeren er logget på (enten som et resultat af at have logget på eller allerede at være logget på, også kendt som den vellykkede sti til logon) eller ikke er logget på (hvilket ville resultere i den mislykkede sti til logon).
IsLoggedIn
er en variabel af typen boolesk, der indeholder den samme status som brugeren, der er logget på. Du kan bruge denne variabel til at oprette forgreningslogik i de emner, der kontrollerer, om brugeren har haft et vellykket logon (f.eks. i skabelonen, som allerede findes som en del af tilføjelsen af Godkendelsesnoden) eller til opportunistisk at hente brugeroplysninger, men kun hvis brugeren er logget på.
AuthToken-variablen
Variablen AuthToken
indeholder brugerens token, som hentes, efter at brugeren er logget på. Du kan overføre denne variabel til Power Automate-strømme, så de kan forbinde til back-end-API'er og hente brugerens oplysninger eller udføre handlinger på brugerens vegne.
Advarsel!
Sørg for, at du kun overfører AuthToken
-variablen til kilder, du har tillid til. Den indeholder oplysninger om brugergodkendelse, som kan skade brugeren, hvis den er kompromitteret.
Brug ikke AuthToken
i Meddelelse-noder eller på flow, som du ikke har tillid til.
Test af godkendelsesvariabler
Ruden Testrobot bruger som standard kontoen for den bruger, der i øjeblikket er logget på, til at udfylde variablerne UserDisplayName
og UserID
. Når du tester emner, der bruger godkendelse, vil du måske bruge andre værdier for disse variabler (eller endda en tom værdi).
Du kan f.eks. teste, hvordan specialtegn bruges, eller hvad der sker, hvis variablen er tom.
Dette gælder kun for ruden Testrobot. Du kan ikke bruge de kommandoer, der er beskrevet i dette afsnit, i en publiceret robot, der er installeret på en kanal.
I følgende tabel vises de kommandoer, der udfylder variablerne. Skriv kommandoen i ruden Testrobot på samme måde, som hvis du plejer, når du chatter med robotten. Du modtager en bekræftelse fra robotten, hvis det lykkes. Hvis robotten ikke bruger godkendelse, modtager du en fejlmeddelelse.
Hvis du nulstiller ruden Testrobot (eller du foretager ændringer af en emne, der medfører, at testrobotten nulstilles automatisk), skal du sende kommandoerne igen.
Variabel |
Kommandoen Brugerdefineret værdi |
Kommandoen Tom værdi |
UserDisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
UserID |
Ikke tilgængelig |
/debug set bot.UserID "" |
Vigtigt
Du kan ikke udfylde variablen UserID
med en brugerdefineret værdi (ud over en tom værdi) af sikkerhedshensyn.
Godkendelse ved brug af konfigurationen "Kun for Teams og Power Apps"
Hvis godkendelsesindstillingen er angivet til Kun for Teams og Power Apps, skal du ikke eksplicit tilføje godkendelse til dine emner. I denne konfiguration logføres alle brugere i Microsoft Teams automatisk via deres Teams-legitimationsoplysninger, og de behøver ikke at logge på med et godkendelseskort. Hvis godkendelsesindstillingen er angivet til Manuel, skal du tilføje godkendelsesnoden (også for Teams-kanalen).
Bemærk
Hvis godkendelsesindstillingen er angivet til Kun til Teams og Power Apps, kan du ikke eksplicit tilføje godkendelse til dine emner.
Tilføjelse af brugergodkendelse til et emne
Noden Godkend beder brugeren om at logge på med et logonkort. Hvis en bruger allerede er logget på, bliver brugeren ikke bedt om at angive den igen, heller ikke selvom brugeren er nået til en anden godkendelsesnode.
Når brugeren angiver brugernavn og adgangskode i prompten (som er vært for identitetsudbyderen), bliver de muligvis bedt om at angive en valideringskode, afhængigt af kanalen. Nogle kanaler, f.eks. Microsoft Teams, kræver ikke, at brugeren angiver en valideringskode.
Når din robot er konfigureret med SSO, vil brugeren ikke blive bedt om at logge på.
Sådan føjer du en godkendelsesnode til dit emne:
Gå til Emnesiden for den robot, du vil redigere.
Åbn Oprettelseslærredet for det emne, du vil føje godkendelsesskabelonen til.
Bemærk
Hvis din robot har forbindelse til Dynamics 365 Customer Service, kan noden Godkendelse ikke være en del af samtalestien, som følger, når du første gang hilser brugere – ellers vises logonkortet to gange. Du skal i stedet føje noden Godkend til et emne, der udløses af et brugersvar.
Vælg Tilføj node (+) for at tilføje en meddelelsesnode. Angiv, hvad botten skal sige for at angive, at der er ved indtræffe en indlogningsproces.
Vælg Tilføj node (+) under meddelelsesnoden, vælg Kald en handling, og vælg derefter Godkend.
Bemærk
Noden Godkendelse er kun tilgængelig i handlingsvælgeren i slutningen af et dialogtræ (som en bladnode). Den kan ikke tilføjes midt i en dialog. Når den er tilføjet, kan der tilføjes andre noder under den.
Når du har valgt et antal nye noder, tilføjes de automatisk. Disse noder inkluderer en overordnet node for Godkendelse, efterfulgt af noder for både vellykkede og mislykkede stier.
Brug af AuthToken uden en godkendelsesnode
Variablene IsLoggedIn
og AuthToken
er tilgængelige, selvom du ikke bruger den skabelon, der er angivet i genvejsmenuen Kald en handling. Hvis du overfører variablen AuthToken
uden at få brugeren til at gennemgå Godkendelsesnoden, bliver brugeren bedt om at logge på nu.
Videregivelse af tokenet AuthToken
kan være en god ide, hvis du altid forventer, at brugeren er logget på, eller hvis brugeren omdirigeres fra et andet emne. Det anbefales, at du bruger den skabelon, du har fået af angivelsen Kald en handling for at behandle de sager, hvor brugeren ikke kan logge på.
Bemærk
Hvis brugeren logger af midt i en samtale, bliver de bedt om at logge på igen, hvis emnet kommer til en node, der bruger variablen AuthToken
.
Vellykket sti
Den vellykkede sti svarer til IsLoggedIn = True
og konti, når brugeren er logget på (eller allerede var logget på).
Hvis du har logik, der bruger variablen AuthToken
(f.eks. til at forbinde til et back end-system ved hjælp af et flow til at hente en brugers oplysninger), skal det henhører under denne sti.
Mislykket sti
Den mislykket sti svarer til en hvilken som helst anden betingelse end IsLoggedIn = True
. I de fleste tilfælde opstår den mislykkede sti, fordi brugeren ikke kunne logge på, har brugt den forkerte adgangskode eller annullerede logonprocessen.
Tilføj eventuelle logik, du kan bruge til at behandle denne sag. Som eksempel har vi angivet mulighederne for at forsøge igen eller for at eskalere til en direkte helpdesk-medarbejder. Tilpas den mislykkede stis handlinger for dit specifikke scenario og din brug.
Test dit emne
Sørg for at teste dit emne ved hjælp af en reel bruger, der er konfigureret i identitetsudbyderen. Sørg for, at både siten for vellykket og mislykket logon prøves, så der ikke er nogen overraskelser, hvis brugeren ikke kan logge på, eller der er en fejl i forbindelse med processen for logon hos identitetsudbyderen.