OAuthPrompt Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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, |
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. |