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 un nuovo prompt 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 attuale dell'utente e, se l'utente non è connesso, gli invierà una 'OAuthCard' contenente un pulsante che potrà premere per accedere. A seconda del canale, l'utente verrà inviato tramite uno dei due possibili flussi di accesso:
- Il flusso automatico di accesso in cui, una volta che l'utente accede e il servizio SSO inoltra il bot, l'utente accede al token utilizzando un'attività 'evento' o 'invoka'. - Il flusso del "codice magico" in cui, una volta che l'utente accede, il servizio SSO gli chiede di inviare al bot un codice di sei cifre per confermare la propria identità. Questo codice verrà inviato come attività standard di 'messaggio'.
Entrambi i flussi sono automaticamente supportati dall''OAuthPrompt' e l'unica cosa di cui devi stare attento è di non bloccare l''evento' e 'invocare' le attività che il prompt potrebbe aspettare.
**Nota**: Dovresti evitare di persistere il token di accesso con il tuo bot in un altro stato. Il servizio SSO di Bot Frameworks archivierà in modo sicuro il token per conto dell'utente. Se lo si archivia nello stato dei bot, potrebbe scadere o essere revocato tra turni.Quando si chiama il prompt dall'interno di un passaggio a cascata, è consigliabile usare il token all'interno del passaggio che segue il prompt e quindi lasciare che il token esegua l'ambito alla fine della funzione.
### Uso del prompt
Quando viene usato con i DialogSet tuoi bot, puoi semplicemente aggiungere una nuova istanza del prompt come dialogo con nome usando Add(Dialog). È quindi possibile avviare il prompt da un passaggio a cascata usando BeginDialogAsync(String, Object, CancellationToken) o PromptAsync(String, PromptOptions, CancellationToken). All'utente verrà chiesto di accedere quando necessario e il suo token di accesso verrà passato come argomento al prossimo passaggio waterfall del chiamante.
Costruttori
| Nome | Descrizione |
|---|---|
| OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Inizializza una nuova istanza della classe OAuthPrompt. |
Proprietà
| Nome | Descrizione |
|---|---|
| Id |
Ottiene o imposta l'id per il dialogo. (Ereditato da Dialog) |
| Source |
Ottiene le informazioni del cref="SourceRange"/>. (Ereditato da Dialog) |
| TelemetryClient |
Ottiene o imposta il IBotTelemetryClient materiale da usare per il registro. (Ereditato da Dialog) |
Metodi
| Nome | Descrizione |
|---|---|
| BeginDialogAsync(DialogContext, Object, CancellationToken) |
Viene 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 il dialogo. (Ereditato da Dialog) |
| GetUserTokenAsync(ITurnContext, CancellationToken) |
Tenta di ottenere il token dell'utente. |
| GetVersion() |
Ottiene una stringa unica che rappresenta la versione di questo dialogo. Se la versione cambia tra turni il sistema del dialogo genererà un evento DialogChanged. (Ereditato da Dialog) |
| OnComputeId() |
Costruisce l'ID di calcolo per il dialogo. (Ereditato da Dialog) |
| OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chiamato quando è stato generato un evento, utilizzando |
| OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chiamato dopo che un evento è stato indirizzato a tutti i genitori e non è stato gestito. (Ereditato da Dialog) |
| OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chiamato prima che un evento venga visualizzato nell'elemento padre. (Ereditato da Dialog) |
| RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Implementazione condivisa della funzione RecognizeTokenAsync. Questo è destinato all'uso interno, per consolidare l'implementazione di OAuthPrompt e OAuthInput. La logica dell'applicazione deve usare tali classi di dialoghi. |
| RegisterSourceLocation(String, Int32) |
Registra un cref="SourceRange"/> nella posizione fornita. (Ereditato da Dialog) |
| RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Chiamato quando la finestra di dialogo deve richiedere di nuovo l'input all'utente. (Ereditato da Dialog) |
| ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Chiamato quando un 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. Questo è destinato all'uso interno, per consolidare l'implementazione di OAuthPrompt e OAuthInput. La logica dell'applicazione deve usare tali classi di dialoghi. |
| SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Implementazione condivisa della funzione SetCallerInfoInDialogState. Questo è destinato all'uso interno, per consolidare l'implementazione di OAuthPrompt e OAuthInput. La logica dell'applicazione deve usare tali classi di dialoghi. |
| SignOutUserAsync(ITurnContext, CancellationToken) |
Disconnette l'utente. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Crea uno stack di dialoghi e avvia un dialogo, che lo inserisce nello stack. |