OAuthPrompt Klasse

Definition

Erstellt eine neue Eingabeaufforderung, die den Benutzer auffordert, sich mit dem Dienst für einmaliges Anmelden (Single Sign On, SSO) von Bot Frameworks anzumelden.

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

Hinweise

Die Eingabeaufforderung versucht, das aktuelle Token des Benutzers abzurufen, und wenn der Benutzer nicht angemeldet ist, sendet er eine "OAuthCard" mit einer Schaltfläche, auf die er zum Anmelden klicken kann. Abhängig vom Kanal wird der Benutzer durch einen von zwei möglichen Anmeldeflows gesendet:

- Der automatische Anmeldeflow, bei dem der Benutzer nach der Anmeldung und dem SSO-Dienst den Bot mithilfe einer Aktivität "event" oder "invoke" weiterleite. – Der "Magic Code"-Flow, bei dem der Benutzer nach der Anmeldung vom SSO-Dienst aufgefordert wird, dem Bot einen sechsstelligen Code zu senden, der seine Identität bestätigt. Dieser Code wird als standardmäßige Nachrichtenaktivität gesendet.

Beide Flows werden automatisch von "OAuthPrompt" unterstützt, und Sie müssen nur darauf achten, dass Sie die Aktivitäten "event" und "invoke" nicht blockieren, auf die die Eingabeaufforderung möglicherweise wartet.

**Hinweis**: Sie sollten es vermeiden, das Zugriffstoken mit ihrem bots anderen Zustand beizubehalten. Der Bot Frameworks SSO-Dienst speichert das Token sicher in Ihrem Namen. Wenn Sie es im Zustand Ihrer Bots speichern, kann es ablaufen oder zwischen den Wendungen widerrufen werden.

Wenn Sie die Eingabeaufforderung innerhalb eines Wasserfallschritts aufrufen, sollten Sie das Token innerhalb des Schritts verwenden, der der Eingabeaufforderung folgt, und lassen Sie das Token dann am Ende ihrer Funktion aus dem Gültigkeitsbereich aus.

### Eingabeaufforderungsverwendung

Bei Verwendung mit dem Ihres Bots DialogSet können Sie mithilfe von einfach eine neue Instanz der Eingabeaufforderung als benanntes Dialogfeld Add(Dialog)hinzufügen. Anschließend können Sie die Eingabeaufforderung aus einem Wasserfallschritt mit BeginDialogAsync(String, Object, CancellationToken) oder PromptAsync(String, PromptOptions, CancellationToken)starten. Der Benutzer wird aufgefordert, sich bei Bedarf anzumelden, und sein Zugriffstoken wird als Argument an die Aufrufer im nächsten Wasserfallschritt übergeben.

Konstruktoren

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Initialisiert eine neue Instanz der OAuthPrompt-Klasse.

Eigenschaften

Id

Ruft die ID für das Dialogfeld ab oder legt diese fest.

(Geerbt von Dialog)
Source

Ruft die Informationen von cref="SourceRange"/>ab.

(Geerbt von Dialog)
TelemetryClient

Ruft die für die IBotTelemetryClient Protokollierung zu verwendende ab oder legt diesen fest.

(Geerbt von Dialog)

Methoden

BeginDialogAsync(DialogContext, Object, CancellationToken)

Wird aufgerufen, wenn ein Eingabeaufforderungsdialogfeld auf den Dialogstapel gepusht und aktiviert wird.

ContinueDialogAsync(DialogContext, CancellationToken)

Wird aufgerufen, wenn ein Eingabeaufforderungsdialogfeld der aktive Dialog ist und der Benutzer mit einer neuen Aktivität geantwortet hat.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Wird aufgerufen, wenn das Dialogfeld beendet wird.

(Geerbt von Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

Versucht, das Token des Benutzers abzurufen.

GetVersion()

Ruft eine eindeutige Zeichenfolge ab, die die Version dieses Dialogfelds darstellt. Wenn sich die Version zwischen den Umdrehungen ändert, gibt das Dialogsystem ein DialogChanged-Ereignis aus.

(Geerbt von Dialog)
OnComputeId()

Erstellt die Compute-ID für das Dialogfeld.

(Geerbt von Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

Wird aufgerufen, wenn ein Ereignis mithilfe von ausgelöst wurde, DialogContext.emitEvent()entweder durch den aktuellen Dialog oder einen Dialog, den der aktuelle Dialog gestartet hat.

(Geerbt von Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Wird aufgerufen, nachdem ein Ereignis für alle übergeordneten Elemente eingeblasen wurde und nicht behandelt wurde.

(Geerbt von Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Wird aufgerufen, bevor ein Ereignis mit seinem übergeordneten Element in die Blase eingeblasen wird.

(Geerbt von Dialog)
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken)

Freigegebene Implementierung der RecognizeTokenAsync-Funktion. Dies ist für die interne Verwendung vorgesehen, um die Implementierung von OAuthPrompt und OAuthInput zu konsolidieren. Die Anwendungslogik sollte diese Dialogklassen verwenden.

RegisterSourceLocation(String, Int32)

Registriert ein cref="SourceRange"/> -Element am angegebenen Speicherort.

(Geerbt von Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

Wird aufgerufen, wenn das Dialogfeld den Benutzer erneut zur Eingabe auffordern soll.

(Geerbt von Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

Wird aufgerufen, wenn ein untergeordnetes Dialogfeld diesen Umlauf abgeschlossen hat, wodurch die Steuerung zu diesem Dialogfeld zurückgegeben wird.

(Geerbt von Dialog)
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken)

Freigegebene Implementierung der SendOAuthCardAsync-Funktion. Dies ist für die interne Verwendung vorgesehen, um die Implementierung von OAuthPrompt und OAuthInput zu konsolidieren. Die Anwendungslogik sollte diese Dialogklassen verwenden.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Freigegebene Implementierung der SetCallerInfoInDialogState-Funktion. Dies ist für die interne Verwendung vorgesehen, um die Implementierung von OAuthPrompt und OAuthInput zu konsolidieren. Die Anwendungslogik sollte diese Dialogklassen verwenden.

SignOutUserAsync(ITurnContext, CancellationToken)

Meldet den Benutzer ab.

Erweiterungsmethoden

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

Erstellt einen Dialogstapel und startet einen Dialog, und pusht ihn auf den Stapel.

Gilt für: