OAuthPrompt Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Maakt een nieuwe prompt aan die de gebruiker vraagt in te loggen met de 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
- Overname
Opmerkingen
De prompt probeert het huidige token van de gebruiker op te halen en als de gebruiker niet is ingelogd, stuurt het een 'OAuthCard' met een knop die ze kunnen indrukken om in te loggen. Afhankelijk van het kanaal wordt de gebruiker via een van de twee mogelijke aanmeldingsstromen gestuurd:
- De automatische aanmeldingsstroom waarbij, zodra de gebruiker inlogt en de SSO-dienst de bot doorstuurt, de gebruikerstoegangstoken via een 'gebeurtenis'- of 'aanroep'-activiteit. - De "magische code"-flow waarbij de gebruiker na het inloggen door de SSO-dienst wordt gevraagd om de bot een zescijferige code te sturen ter bevestiging van zijn identiteit. Deze code wordt verzonden als een standaard 'bericht'-activiteit.
Beide flows worden automatisch ondersteund door de 'OAuthPrompt' en het enige waar je op moet letten is dat je de 'event'- en 'invoke'-activiteiten waar de prompt mogelijk op wacht niet blokkeert.
**Opmerking**: Je moet voorkomen dat je de toegangstoken in de andere staat van je bot laat behouden. De Bot Frameworks SSO-service slaat het token veilig namens u op. Als je het in de staat van je bot opslaat, kan het verlopen of worden ingetrokken tussen beurten.Wanneer je de prompt aanroept vanuit een waterfall-stap, moet je het token binnen de volgende stap gebruiken en het token aan het einde van je functie buiten scope laten gaan.
### Prompt Gebruik
Wanneer je het met je bots gebruikt, DialogSet kun je eenvoudig een nieuwe instantie van de prompt toevoegen als een benoemde dialoog met Add(Dialog)behulp van . Vervolgens kunt u de prompt starten vanuit een watervalstap met behulp van BeginDialogAsync(String, Object, CancellationToken) of PromptAsync(String, PromptOptions, CancellationToken). De gebruiker wordt gevraagd om zich indien nodig in te loggen en hun toegangstoken wordt als argument doorgegeven aan de volgende waterfallstap van de aanroeper.
Constructors
| Name | Description |
|---|---|
| OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Initialiseert een nieuw exemplaar van de OAuthPrompt klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Id |
Krijgt of stelt ID in voor de dialoog. (Overgenomen van Dialog) |
| Source |
Krijgt de informatie van de cref="SourceRange"/>. (Overgenomen van Dialog) |
| TelemetryClient |
Krijgt of stelt de in om te IBotTelemetryClient gebruiken voor logs. (Overgenomen van Dialog) |
Methoden
| Name | Description |
|---|---|
| BeginDialogAsync(DialogContext, Object, CancellationToken) |
Wordt aangeroepen wanneer een promptdialoogvenster naar de dialoogvensterstack wordt gepusht en wordt geactiveerd. |
| ContinueDialogAsync(DialogContext, CancellationToken) |
Wordt aangeroepen wanneer een promptdialoogvenster het actieve dialoogvenster is en de gebruiker heeft gereageerd met een nieuwe activiteit. |
| EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken) |
Aangeroepen wanneer het dialoogvenster eindigt. (Overgenomen van Dialog) |
| GetUserTokenAsync(ITurnContext, CancellationToken) |
Pogingen om het token van de gebruiker te krijgen. |
| GetVersion() |
Krijgt een unieke string die de versie van deze dialoog vertegenwoordigt. Als de versie tussen beurten verandert, zal het dialoogsysteem een DialogChanged-gebeurtenis uitzenden. (Overgenomen van Dialog) |
| OnComputeId() |
Bouwt de compute-ID voor de dialoog. (Overgenomen van Dialog) |
| OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wordt aangeroepen wanneer een gebeurtenis is opgeroepen, met behulp van |
| OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Gebeld nadat een gebeurtenis aan alle ouders was doorgegeven en niet werd afgehandeld. (Overgenomen van Dialog) |
| OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wordt aangeroepen voordat een gebeurtenis naar zijn ouder wordt gebubbeld. (Overgenomen van Dialog) |
| RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Gedeelde implementatie van de functie RecognizeTokenAsync. Dit is bedoeld voor intern gebruik, om de implementatie van de OAuthPrompt en OAuthInput te consolideren. De applicatielogica zou die dialoogklassen moeten gebruiken. |
| RegisterSourceLocation(String, Int32) |
Registreert een cref="SourceRange"/> op de opgegeven locatie. (Overgenomen van Dialog) |
| RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Wordt aangeroepen wanneer het dialoogvenster de gebruiker opnieuw om invoer moet vragen. (Overgenomen van Dialog) |
| ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Aangeroepen wanneer een kinddialoog deze beurt voltooide, waardoor de controle naar dit dialoog werd teruggegeven. (Overgenomen van Dialog) |
| SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Gedeelde implementatie van de SendOAuthCardAsync-functie. Dit is bedoeld voor intern gebruik, om de implementatie van de OAuthPrompt en OAuthInput te consolideren. De applicatielogica zou die dialoogklassen moeten gebruiken. |
| SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Gedeelde implementatie van de SetCallerInfoInDialogState-functie. Dit is bedoeld voor intern gebruik, om de implementatie van de OAuthPrompt en OAuthInput te consolideren. De applicatielogica zou die dialoogklassen moeten gebruiken. |
| SignOutUserAsync(ITurnContext, CancellationToken) |
Meldt de gebruiker uit. |
Extensiemethoden
| Name | Description |
|---|---|
| RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Hiermee maakt u een dialoogvensterstack en start u een dialoogvenster, waarbij u het naar de stack pusht. |