Dela via


OAuthPrompt Klass

Definition

Skapar en ny uppmaning som ber användaren att logga in med hjälp av Bot Frameworks-tjänsten för enkel inloggning (SSO).

public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
    inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
Arv
OAuthPrompt

Kommentarer

Uppmaningen försöker hämta användarnas aktuella token och om användaren inte är inloggad skickar den ett OAuthCard som innehåller en knapp som de kan trycka på för att logga in. Beroende på kanalen skickas användaren via ett av två möjliga inloggningsflöden:

– Det automatiska inloggningsflödet där när användaren loggar in och SSO-tjänsten vidarebefordrar roboten till användarens åtkomsttoken med antingen en "händelse" eller "anropa"-aktivitet. – Flödet "magisk kod" där när användaren loggar in uppmanas av SSO-tjänsten att skicka roboten en sexsiffrig kod som bekräftar deras identitet. Den här koden skickas som en standardaktivitet för meddelande.

Båda flödena stöds automatiskt av OAuthPrompt och det enda du behöver vara försiktig med är att du inte blockerar aktiviteterna "event" och "invoke" som prompten kan vänta på.

**Obs**: Du bör undvika att spara åtkomsttoken med dina robotars andra tillstånd. Bot Frameworks SSO-tjänsten lagrar token på ett säkert sätt för din räkning. Om du lagrar den i ditt robottillstånd kan den upphöra att gälla eller återkallas mellan turerna.

När du anropar uppmaningen inifrån ett vattenfallssteg bör du använda token i steget som följer uppmaningen och sedan låta token gå utanför omfånget i slutet av funktionen.

### Fråga användning

När den används med robotens DialogSet kan du helt enkelt lägga till en ny instans av prompten som en namngiven dialogruta med hjälp av Add(Dialog). Du kan sedan starta uppmaningen från ett vattenfallssteg med antingen BeginDialogAsync(String, Object, CancellationToken) eller PromptAsync(String, PromptOptions, CancellationToken). Användaren uppmanas att logga in efter behov och deras åtkomsttoken skickas som ett argument till anroparna nästa vattenfallssteg.

Konstruktorer

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Initierar en ny instans av OAuthPrompt klassen.

Egenskaper

Id

Hämtar eller anger ID för dialogrutan.

(Ärvd från Dialog)
Source

Hämtar information om cref="SourceRange"/>.

(Ärvd från Dialog)
TelemetryClient

Hämtar eller anger den som IBotTelemetryClient ska användas för loggning.

(Ärvd från Dialog)

Metoder

BeginDialogAsync(DialogContext, Object, CancellationToken)

Anropas när en dialogruta skickas till dialogstacken och aktiveras.

ContinueDialogAsync(DialogContext, CancellationToken)

Anropas när en promptdialogruta är den aktiva dialogrutan och användaren svarade med en ny aktivitet.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Anropas när dialogrutan slutar.

(Ärvd från Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

Försöker hämta användarens token.

GetVersion()

Hämtar en unik sträng som representerar versionen av den här dialogrutan. Om versionen ändras mellan svängar genererar dialogsystemet en DialogChanged-händelse.

(Ärvd från Dialog)
OnComputeId()

Skapar beräknings-ID:t för dialogrutan.

(Ärvd från Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

Anropas när en händelse har aktiverats med hjälp DialogContext.emitEvent()av antingen den aktuella dialogrutan eller en dialogruta som den aktuella dialogrutan startade.

(Ärvd från Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Anropades efter att en händelse bubblades till alla föräldrar och hanterades inte.

(Ärvd från Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Anropas innan en händelse bubblas till dess överordnade.

(Ärvd från Dialog)
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken)

Delad implementering av funktionen RecognizeTokenAsync. Detta är avsett för intern användning för att konsolidera implementeringen av OAuthPrompt och OAuthInput. Programlogik bör använda dessa dialogklasser.

RegisterSourceLocation(String, Int32)

Registrerar en cref="SourceRange"/> på den angivna platsen.

(Ärvd från Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

Anropas när dialogrutan ska uppmana användaren att ange indata igen.

(Ärvd från Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

Anropas när en underordnad dialogruta har slutfört den här svängen och returnerar kontrollen till den här dialogrutan.

(Ärvd från Dialog)
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken)

Delad implementering av funktionen SendOAuthCardAsync. Detta är avsett för intern användning för att konsolidera implementeringen av OAuthPrompt och OAuthInput. Programlogik bör använda dessa dialogklasser.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Delad implementering av funktionen SetCallerInfoInDialogState. Detta är avsett för intern användning för att konsolidera implementeringen av OAuthPrompt och OAuthInput. Programlogik bör använda dessa dialogklasser.

SignOutUserAsync(ITurnContext, CancellationToken)

Loggar ut användaren.

Tilläggsmetoder

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

Skapar en dialogstack och startar en dialogruta och push-överför den till stacken.

Gäller för