OAuthPrompt Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una nuova richiesta che chiede all'utente di accedere usando il servizio Single Sign On (SSO) di Bot Frameworks.
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Ereditarietà
Commenti
Il prompt tenterà di recuperare il token corrente degli utenti e, se l'utente non è connesso, invierà loro un 'OAuthCard' contenente un pulsante che può premere per accedere. A seconda del canale, l'utente verrà inviato tramite uno dei due possibili flussi di accesso:
- Flusso di accesso automatico in cui l'utente accede e il servizio SSO inoltra al bot il token di accesso degli utenti usando un'attività 'event' o 'invoke'. - Flusso di "codice magico" in cui, una volta che l'utente accede, verrà richiesto al servizio SSO di inviare al bot un codice a sei cifre che conferma la propria identità. Questo codice verrà inviato come attività "message" standard.
Entrambi i flussi sono supportati automaticamente dalle attività 'OAuthPrompt' e l'unica cosa che è necessario prestare attenzione è che non si bloccano le attività 'event' e 'invoke' che il prompt potrebbe essere in attesa.
**Nota**: è consigliabile evitare di rendere permanente il token di accesso con gli altri bot. Il servizio SSO di Bot Frameworks archivierà in modo sicuro il token per conto dell'utente. Se lo archivia nello stato dei bot potrebbe scadere o essere revocato tra turni.Quando si chiama il prompt all'interno di un passaggio a cascata, è necessario usare il token all'interno del passaggio che segue il prompt e quindi lasciare che il token esce dall'ambito alla fine della funzione.
Utilizzo della richiesta ###
Quando viene usato con il bot DialogSet , è sufficiente aggiungere una nuova istanza del prompt come finestra di dialogo denominata usando Add(Dialog). È quindi possibile avviare il prompt da un passaggio a cascata usando BeginDialogAsync(String, Object, CancellationToken) o PromptAsync(String, PromptOptions, CancellationToken). L'utente verrà richiesto di accedere in base alle esigenze e il token di accesso verrà passato come argomento ai chiamanti successivo passaggio a cascata.
Costruttori
OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Inizializza una nuova istanza della classe OAuthPrompt. |
Proprietà
Id |
Ottiene o imposta l'ID per la finestra di dialogo. (Ereditato da Dialog) |
Source |
Ottiene le informazioni del cref="SourceRange"/>. (Ereditato da Dialog) |
TelemetryClient |
Ottiene o imposta l'oggetto IBotTelemetryClient da usare per la registrazione. (Ereditato da Dialog) |
Metodi
BeginDialogAsync(DialogContext, Object, CancellationToken) |
Chiamato quando viene eseguito il push di una finestra di dialogo nello stack di dialoghi e viene attivato. |
ContinueDialogAsync(DialogContext, CancellationToken) |
Chiamato quando una finestra di dialogo di richiesta è la finestra di dialogo attiva e l'utente ha risposto con una nuova attività. |
EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken) |
Chiamato quando termina la finestra di dialogo. (Ereditato da Dialog) |
GetUserTokenAsync(ITurnContext, CancellationToken) |
Tenta di ottenere il token dell'utente. |
GetVersion() |
Ottiene una stringa univoca che rappresenta la versione di questa finestra di dialogo. Se la versione cambia tra turni il sistema di dialogo genererà un evento DialogChanged. (Ereditato da Dialog) |
OnComputeId() |
Compila l'ID di calcolo per la finestra di dialogo. (Ereditato da Dialog) |
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chiamato quando è stato generato un evento, usando |
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chiamato dopo che un evento è stato bollato in tutti i genitori e non è stato gestito. (Ereditato da Dialog) |
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chiamato prima che un evento venga bollato nel relativo padre. (Ereditato da Dialog) |
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Implementazione condivisa della funzione RecognizeTokenAsync. Ciò è destinato all'uso interno, per consolidare l'implementazione di OAuthPrompt e OAuthInput. La logica dell'applicazione deve usare queste classi di dialogo. |
RegisterSourceLocation(String, Int32) |
Registra un cref="SourceRange"/> nella posizione specificata. (Ereditato da Dialog) |
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Chiamato quando la finestra di dialogo deve richiedere nuovamente all'utente l'input. (Ereditato da Dialog) |
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Chiamato quando una finestra di dialogo figlio ha completato questo turno, restituendo il controllo a questa finestra di dialogo. (Ereditato da Dialog) |
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Implementazione condivisa della funzione SendOAuthCardAsync. Ciò è destinato all'uso interno, per consolidare l'implementazione di OAuthPrompt e OAuthInput. La logica dell'applicazione deve usare queste classi di dialogo. |
SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Implementazione condivisa della funzione SetCallerInfoInDialogState. Ciò è destinato all'uso interno, per consolidare l'implementazione di OAuthPrompt e OAuthInput. La logica dell'applicazione deve usare queste classi di dialogo. |
SignOutUserAsync(ITurnContext, CancellationToken) |
Disconnette l'utente. |
Metodi di estensione
RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Crea uno stack di dialoghi e avvia una finestra di dialogo, premendola nello stack. |