Lingua

OAuthPrompt Classe

Definizione

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à
OAuthPrompt

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 DialogContext.emitEvent(), dalla finestra di dialogo corrente o da una finestra di dialogo avviata dalla finestra di dialogo corrente.

(Ereditato da Dialog)
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.

Si applica a