OAuthPrompt Klasse

Definition

Erstellt eine neue Eingabeaufforderung, die den Benutzer auffordert, sich mit dem bot Frameworks-Dienst für einmaliges Anmelden (SSO) anzumelden.Creates a new prompt that asks the user to sign in using the Bot Frameworks Single Sign On (SSO) service.

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. wenn der Benutzer nicht angemeldet ist, sendet er eine OAuthCard Schaltfläche, die eine Schaltfläche enthält, die Sie zur Anmeldung drücken können.The prompt will attempt to retrieve the users current token and if the user isn't signed in, it will send them an OAuthCard containing a button they can press to signin. Abhängig vom Kanal wird der Benutzer über einen von zwei möglichen SignIn-Flows gesendet:Depending on the channel, the user will be sent through one of two possible signin flows: -Der automatische Anmelde Ablauf, bei dem sich der Benutzer anmeldet und der SSO-Dienst den Bot mithilfe einer-oder-Aktivität an den Benutzer zugreift event invoke .- The automatic signin flow where once the user signs in and the SSO service will forward the bot the users access token using either an event or invoke activity. -Der "Magic Code"-Flow, bei dem sich der Benutzer anmeldet, wird er vom SSO-Dienst aufgefordert, den bot einen sechsstelligen Code zu senden, der seine Identität bestätigt.- The "magic code" flow where once the user signs in they will be prompted by the SSO service to send the bot a six digit code confirming their identity. Dieser Code wird als Standard message Aktivität gesendet.This code will be sent as a standard message activity.

Beide Flows werden automatisch von unterstützt OAuthPrompt . das einzige, was Sie beachten müssen, ist, dass Sie die event -Aktivität und die-Aktivität nicht blockieren invoke , auf die die Eingabeaufforderung möglicherweise wartet.Both flows are automatically supported by the OAuthPrompt and the only thing you need to be careful of is that you don't block the event and invoke activities that the prompt might be waiting on.

\*\*Hinweis\*\*: Sie sollten das Beibehalten des Zugriffs Tokens mit Ihrem Bots anderen Zustand vermeiden. \*\*Note\*\*: You should avoid persisting the access token with your bots other state. Der SSO-Dienst von bot Frameworks speichert das Token sicher in Ihrem Namen.The Bot Frameworks SSO service will securely store the token on your behalf. Wenn Sie die Datei in Ihrem Bots-Zustand speichern, kann sie ablaufen oder zwischen den Turn-Zuständen widerrufen werden.If you store it in your bots state it could expire or be revoked in between turns.

Wenn Sie die Aufforderung innerhalb eines Wasserfall Schritts aufrufen, sollten Sie das Token innerhalb des Schritts nach der Eingabeaufforderung verwenden und dann das Token am Ende der Funktion außerhalb des gültigen Bereichs verlassen.When calling the prompt from within a waterfall step you should use the token within the step following the prompt and then let the token go out of scope at the end of your function.

# # Eingabe Aufforderungs Verwendung## Prompt Usage Wenn Sie mit den botdiensten verwendet werden, DialogSet können Sie einfach mithilfe von eine neue Instanz der Eingabeaufforderung als benanntes Dialogfeld hinzufügen Add(Dialog) .When used with your bot's DialogSet you can simply add a new instance of the prompt as a named dialog using Add(Dialog). Sie können dann die Eingabeaufforderung von einem Wasserfall Schritt aus mithilfe von BeginDialogAsync(String, Object, CancellationToken) oder Starten PromptAsync(String, PromptOptions, CancellationToken) .You can then start the prompt from a waterfall step using either BeginDialogAsync(String, Object, CancellationToken) or PromptAsync(String, PromptOptions, CancellationToken). Der Benutzer wird aufgefordert, sich bei Bedarf zu anmelden, und das Zugriffs Token wird als Argument an den nächsten Wasserfall Schritt des Aufrufer weitergeleitet.The user will be prompted to signin as needed and their access token will be passed as an argument to the callers next waterfall step.

Konstruktoren

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Initialisiert eine neue Instanz der OAuthPrompt-Klasse.Initializes a new instance of the OAuthPrompt class.

Eigenschaften

Id

Ruft die ID für den Dialog ab oder legt Sie fest.Gets or sets id for the dialog.

(Geerbt von Dialog)
Source

Ruft die Informationen von "kref" = "SourceRange"/ab > .Gets the information of the cref="SourceRange"/>.

(Geerbt von Dialog)
TelemetryClient

Dient zum Abrufen oder Festlegen der IBotTelemetryClient für die Protokollierung.Gets or sets the IBotTelemetryClient to use for logging.

(Geerbt von Dialog)

Methoden

BeginDialogAsync(DialogContext, Object, CancellationToken)

Wird aufgerufen, wenn ein Eingabe Aufforderungs Dialogfeld auf den Dialog Stapel verschoben und aktiviert wird.Called when a prompt dialog is pushed onto the dialog stack and is being activated.

ContinueDialogAsync(DialogContext, CancellationToken)

Wird aufgerufen, wenn ein Dialogfeld zur Eingabeaufforderung das aktive Dialogfeld ist und der Benutzer mit einer neuen Aktivität geantwortet hat.Called when a prompt dialog is the active dialog and the user replied with a new activity.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Wird aufgerufen, wenn das Dialogfeld beendet wird.Called when the dialog is ending.

(Geerbt von Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

Versucht, das Token des Benutzers zu erhalten.Attempts to get the user's token.

GetVersion()

Ruft eine eindeutige Zeichenfolge ab, die die Version dieses Dialog Felds darstellt.Gets a unique string which represents the version of this dialog. Wenn die Versionsänderungen zwischen aktiviert werden, gibt das Dialogsystem ein dialogchanged-Ereignis aus.If the version changes between turns the dialog system will emit a DialogChanged event.

(Geerbt von Dialog)
OnComputeId()

Berechnet eine eindeutige ID für ein Dialogfeld.Computes an unique ID for a dialog.

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

Wird aufgerufen, wenn ein Ereignis mithilfe DialogContext.emitEvent() von entweder im aktuellen Dialogfeld oder in einem Dialogfeld, das im aktuellen Dialogfeld gestartet wurde, ausgelöst wurde.Called when an event has been raised, using DialogContext.emitEvent(), by either the current dialog or a dialog that the current dialog started.

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

Wird aufgerufen, nachdem ein Ereignis an alle übergeordneten Elemente gebubselt und nicht behandelt wurde.Called after an event was bubbled to all parents and wasn't handled.

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

Wird aufgerufen, bevor ein Ereignis zu seinem übergeordneten Element bubelt wird.Called before an event is bubbled to its parent.

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

Freigegebene Implementierung der Funktion "erkennzeyasync".Shared implementation of the RecognizeTokenAsync function. Dies ist für die interne Verwendung vorgesehen, um die Implementierung von oauthprompt und oauthinput zu konsolidieren.This is intended for internal use, to consolidate the implementation of the OAuthPrompt and OAuthInput. Diese Dialogfeld Klassen sollten von der Anwendungslogik verwendet werden.Application logic should use those dialog classes.

RegisterSourceLocation(String, Int32)

Registriert eine "kref =" "SourceRange"/ > am angegebenen Speicherort.Registers a cref="SourceRange"/> in the provided location.

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

Wird aufgerufen, wenn das Dialogfeld den Benutzer erneut zur Eingabe auffordern soll.Called when the dialog should re-prompt the user for input.

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

Wird aufgerufen, wenn ein untergeordnetes Dialogfeld abgeschlossen und die Steuerung an dieses Dialogfeld zurückgegeben wird.Called when a child dialog completed this turn, returning control to this dialog.

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

Freigegebene Implementierung der sendoauthcardasync-Funktion.Shared implementation of the SendOAuthCardAsync function. Dies ist für die interne Verwendung vorgesehen, um die Implementierung von oauthprompt und oauthinput zu konsolidieren.This is intended for internal use, to consolidate the implementation of the OAuthPrompt and OAuthInput. Diese Dialogfeld Klassen sollten von der Anwendungslogik verwendet werden.Application logic should use those dialog classes.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Freigegebene Implementierung der setcallerinfoindialogstate-Funktion.Shared implementation of the SetCallerInfoInDialogState function. Dies ist für die interne Verwendung vorgesehen, um die Implementierung von oauthprompt und oauthinput zu konsolidieren.This is intended for internal use, to consolidate the implementation of the OAuthPrompt and OAuthInput. Diese Dialogfeld Klassen sollten von der Anwendungslogik verwendet werden.Application logic should use those dialog classes.

SignOutUserAsync(ITurnContext, CancellationToken)

Meldet den Benutzer ab.Signs out the user.

Erweiterungsmethoden

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

Erstellt einen Dialog Stapel und startet einen Dialog, um ihn auf den Stapel zu verschieben.Creates a dialog stack and starts a dialog, pushing it onto the stack.

Gilt für: