Språk

OAuthPrompt Klass

Definition

Skapar en ny prompt som ber användaren logga in med Bot Frameworks Single Sign On (SSO)-tjänst.

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

Kommentarer

Prompten försöker hämta användarens aktuella token och om användaren inte är inloggad skickas ett 'OAuthCard' med en knapp de kan trycka på för att logga in. Beroende på kanalen skickas användaren genom ett av två möjliga inloggningsflöden:

- Det automatiska inloggningsflödet där, när användaren loggar in och SSO-tjänsten vidarebefordrar boten, använder användaren åtkomsttoken antingen med en 'händelse'- eller 'anropsaktivitet'. - "Magic Code"-flödet där användaren när de loggar in blir uppmanade av SSO-tjänsten att skicka boten en sexsiffrig kod som bekräftar deras identitet. Denna kod skickas som en standard 'meddelande'-aktivitet.

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

**Obs**: Du bör undvika att behålla åtkomsttoken med din bots andra tillstånd. Bot Frameworks SSO-tjänsten lagrar token på ett säkert sätt åt dig. Om du lagrar den i din bots tillstånd kan den gå ut eller dras tillbaka mellan turerna.

När du anropar prompten från ett vattenfallssteg bör du använda token inom steget efter prompten och sedan låta token gå utanför omfattningen i slutet av din funktion.

### Prompt användning

När du använder din bot DialogSet kan du helt enkelt lägga till en ny instans av prompten som en namngiven dialog med hjälp av Add(Dialog). Du kan sedan starta kommandotolken från ett vattenfallssteg med hjälp av antingen BeginDialogAsync(String, Object, CancellationToken) eller PromptAsync(String, PromptOptions, CancellationToken). Användaren kommer att uppmanas att logga in vid behov och deras åtkomsttoken kommer att skickas som ett argument till anroparens nästa vattenfallssteg.

Konstruktorer

Name Description
OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Initierar en ny instans av OAuthPrompt klassen.

Egenskaper

Name Description
Id

Får eller sätter id för dialogen.

(Ärvd från Dialog)
Source

Får informationen om cref="SourceRange"/>.

(Ärvd från Dialog)
TelemetryClient

Får eller ställer in att IBotTelemetryClient använda för loggning.

(Ärvd från Dialog)

Metoder

Name Description
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 få tag på användarens token.

GetVersion()

Får en unik sträng som representerar versionen av denna dialog. Om versionen ändras mellan turerna kommer dialogsystemet att sända ut en DialogChanged-händelse.

(Ärvd från Dialog)
OnComputeId()

Bygger compute-ID:t för dialogen.

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

Anropas när en händelse har aktiverats, med , DialogContext.emitEvent()antingen av den aktuella dialogen eller en dialog som den aktuella dialogen startade.

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

Ringde efter att ett evenemang hade delats ut till alla föräldrar och inte hanterades.

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

Anropas innan en händelse bubblas till sin förälder.

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

Delad implementation av funktionen RecognizeTokenAsync. Detta är avsett för internt bruk, för att konsolidera implementeringen av OAuthPrompt och OAuthInput. Applikationslogik 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)

Anropades när en barndialog avslutade denna tur, vilket återlämnade kontrollen till denna dialog.

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

Delad implementation av funktionen SendOAuthCardAsync. Detta är avsett för internt bruk, för att konsolidera implementeringen av OAuthPrompt och OAuthInput. Applikationslogik bör använda dessa dialogklasser.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Delad implementation av funktionen SetCallerInfoInDialogState. Detta är avsett för internt bruk, för att konsolidera implementeringen av OAuthPrompt och OAuthInput. Applikationslogik bör använda dessa dialogklasser.

SignOutUserAsync(ITurnContext, CancellationToken)

Loggar ut användaren.

Tilläggsmetoder

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

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

Gäller för