Lägg till slutanvändarautentisering i en Power Virtual Agents-robot

Välj vilken version av Power Virtual Agents du vill använda:

Du kan aktivera användarautentisering direkt i en Power Virtual Agents-robotkonversation. Användarautentisering innebär att du kan få en användares grundläggande egenskaper, till exempel namn och ID i robotvariabler, men även uppmana en användare att logga in med hjälp av en autentiseringstjänst, hämta en användartoken för användaren och sedan använda denna token för att hämta användarens information från ett serversystem.

Du kan även konfigurera enkel inloggning (SSO) så att användarna inte behöver logga in manuellt.

Viktigt

Du måste följa konfigurationsanvisningarna för slutanvändare innan du använder denna funktion.

Förutsättningar

Autentiseringsvariabler

Om din robot är konfigurerad med autentiseringsalternativet "Endast för Teams" eller "Manuellt" har du en uppsättning autentiseringsvariabler tillgängliga i dina ämnen. Se dokumentationen för konfiguration av autentisering om du vill ha mer information om hur du konfigurerar autentisering i din robot.

I följande tabell jämförs autentiseringsvariabelns tillgänglighet efter alternativ för autentiseringskonfiguration:

Autentiseringsvariabel Ingen autentisering Endast för Teams Manuellt
UserDisplayName ✔️ ✔️
UserID ✔️ ✔️
IsLoggedIn ✔️
AuthToken ✔️

UserDisplayName-variabel

UserDisplayName-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 roboten, vilket gör den mer personanpassad.

Värdet i det här fältet hämtas från Azure Active Directory (Azure AD) name-anspråket. För OAuth-providers är detta värdet som lagras i name-anspråket. Power Virtual Agents extraherar automatiskt detta fält till variabeln, så se till att du har en profile som en del av konfigurationen av autentiseringsomfattningen.

UserID-variabel

UserID-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 att anropa API:er som tar UserID som ett värde. Värdet i det här fältet hämtas från Azure AD sub-anspråket. För OAuth-providers är detta värdet som lagras i sub-anspråket. Power Virtual Agents extraherar automatiskt fältet till variabeln.

Varning

Variablerna UserDisplayName och UserID ä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 IsLoggedIn anger om användaren är inloggad (antingen för att logga in eller redan loggat in, även kallad sökväg för inloggning) eller inte inloggad (vilket skulle resultera i sökvägen till inloggningsfelet).

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.

AuthToken-variabel

AuthToken-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.

Varning

Se till att bara skicka AuthToken-variabeln till pålitliga källor. Den innehåller information om användarautentisering som kan skada användaren om den komprometteras.

Använd inte AuthToken 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 UserDisplayName och UserID 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.

Detta gäller endast för rutan Testrobot. Du kan inte använda kommandona som beskrivs i det här avsnittet i en publicerad distribution till en kanal.

I följande tabell visas de kommandon som ska fyllas i dessa variabler. Skriv in kommandot i fönstret Testrobot på samma sätt som om du normalt chattar med roboten. Om du lyckas får du ett bekräftelsemeddelande från roboten. Om din robot 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
UserDisplayName /debug set bot.UserDisplayName "Value" /debug set bot.UserDisplayName ""
UserID Inte tillgänglig /debug set bot.UserID ""

Viktigt

Du kan inte fylla variabeln UserID med ett anpassat värde (annat än ett tomt värde) av säkerhetsskäl.

Autentisering vid användning av "Endast för Teams"-konfiguration

Om autentiseringsalternativet är inställt på Endast för Teams 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).

Anteckning

Om autentiseringsalternativet är inställt på Endast för Teams kan du inte uttryckligen lägga till autentisering i dina ämnen.

Lägg till slutanvändarautentisering i ett ämne

Infoga mallen för autentisering av noder:

  1. Gå till sidan Ämnen för den robot du vill redigera.

  2. Öppna redigeringsarbetsytan för det ämne du vill lägga till autentiseringsmallen för.

  3. Välj plusikonen (+) för att lägga till en meddelandenod. Ange vad roboten ska säga för att indikera att en inloggning kommer att äga rum.

    Skärmbild av nodtillägg.

  4. Markera plustecknet under meddelandenoden (+), välj Anropa en åtgärd action och välj sedan Autentisera.

    Välj Autentisera.

  5. När du har valt det här alternativet infogas ett antal nya noder automatiskt. Noderna innehåller en överordnad Autentisera-nod följt av noder både för en lyckad och misslyckad väg.

    Nya noder.

    Anteckning

    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.

Noden Autentisera

Noden Autentisera är den plats där användaren får ett inloggningskort om denne inte redan är inloggad.

Inloggningsbegäran.

När användaren har angett sitt användarnamn och lösenord i prompten (som finns i identitetsprovidern) kan han/hon komma att uppmanas att ange en valideringskod beroende på kanal. Vissa kanaler, till exempel Microsoft Teams, kräver inte att användaren anger någon valideringskod.

Observera att om din robot har SSO konfigurerat, blir användaren inte ombedd att logga in.

Användare uppmanas endast att logga in en gång under en konversation, även om de stöter på ett annat inloggningskort.

AuthToken-användning utan autentiseringsnod

Variablerna IsLoggedIn och AuthToken är tillgängliga även om du inte använder mallen som visas i menyalternativet Anropa åtgärd. Om du skickar AuthToken-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 AuthToken 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.

Anteckning

Om användaren loggar ut mitt under en konversation ombeds denne att logga in igen om ämnet når en nod som använder AuthToken-variabeln.

Sökväg för Genomfört

Sökvägen är lika med IsLoggedIn = True och konton för när användaren har loggat in (eller redan var inloggad).

Logik som använder AuthToken-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ä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 inträffar sö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ör sö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.