Compartir a través de


OAuthPrompt Clase

Definición

Crea un nuevo mensaje que pide al usuario que inicie sesión con el servicio Bot Frameworks Single Sign On (SSO).

public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
    inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
Herencia
OAuthPrompt

Comentarios

El símbolo del sistema intentará recuperar el token actual de los usuarios y, si el usuario no ha iniciado sesión, le enviará un "OAuthCard" que contiene un botón que puede presionar para iniciar sesión. Según el canal, el usuario se enviará a través de uno de los dos flujos de inicio de sesión posibles:

- El flujo de inicio de sesión automático en el que, una vez que el usuario inicia sesión y el servicio SSO reenvía el bot, el token de acceso de los usuarios mediante una actividad "event" o "invoke". - El flujo de "código mágico" en el que, una vez que el usuario inicia sesión, el servicio SSO le pedirá que envíe al bot un código de seis dígitos que confirme su identidad. Este código se enviará como una actividad "message" estándar.

Ambos flujos son compatibles automáticamente con "OAuthPrompt" y lo único que debe tener cuidado es que no bloquea las actividades "event" e "invoke" en las que el símbolo del sistema podría estar esperando.

**Nota**: Debe evitar conservar el token de acceso con los bots de otro estado. El servicio de inicio de sesión único de Bot Frameworks almacenará de forma segura el token en su nombre. Si lo almacena en el estado de los bots, podría expirar o revocarse entre turnos.

Al llamar al símbolo del sistema desde un paso en cascada, debe usar el token en el paso siguiente al símbolo del sistema y, a continuación, dejar que el token salga del ámbito al final de la función.

### Uso de avisos

Cuando se usa con el DialogSet bot, simplemente puede agregar una nueva instancia del símbolo del sistema como un cuadro de diálogo con nombre mediante Add(Dialog). A continuación, puede iniciar el símbolo del sistema desde un paso en cascada mediante BeginDialogAsync(String, Object, CancellationToken) o PromptAsync(String, PromptOptions, CancellationToken). Se pedirá al usuario que inicie sesión según sea necesario y su token de acceso se pasará como argumento al siguiente paso en cascada de los llamadores.

Constructores

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Inicializa una nueva instancia de la clase OAuthPrompt.

Propiedades

Id

Obtiene o establece el identificador del cuadro de diálogo.

(Heredado de Dialog)
Source

Obtiene la información de cref="SourceRange"/>.

(Heredado de Dialog)
TelemetryClient

Obtiene o establece el objeto IBotTelemetryClient que se va a usar para el registro.

(Heredado de Dialog)

Métodos

BeginDialogAsync(DialogContext, Object, CancellationToken)

Se llama cuando se inserta un cuadro de diálogo de solicitud en la pila de diálogos y se está activando.

ContinueDialogAsync(DialogContext, CancellationToken)

Se llama cuando un cuadro de diálogo de solicitud es el diálogo activo y el usuario respondió con una nueva actividad.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Se llama cuando finaliza el diálogo.

(Heredado de Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

Intenta obtener el token del usuario.

GetVersion()

Obtiene una cadena única que representa la versión de este cuadro de diálogo. Si la versión cambia entre turnos, el sistema de diálogos emitirá un evento DialogChanged.

(Heredado de Dialog)
OnComputeId()

Compila el identificador de proceso para el cuadro de diálogo.

(Heredado de Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

Se llama cuando se genera un evento, mediante DialogContext.emitEvent(), mediante el diálogo actual o un diálogo que inició el diálogo actual.

(Heredado de Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Se llama después de que un evento se propagase a todos los padres y no se controló.

(Heredado de Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Se llama antes de que un evento se propaga a su elemento primario.

(Heredado de Dialog)
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken)

Implementación compartida de la función RecognizeTokenAsync. Esto está pensado para uso interno, para consolidar la implementación de OAuthPrompt y OAuthInput. La lógica de la aplicación debe usar esas clases de diálogo.

RegisterSourceLocation(String, Int32)

Registra un cref="SourceRange"/> en la ubicación proporcionada.

(Heredado de Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

Se llama cuando el cuadro de diálogo debe volver a solicitar la entrada al usuario.

(Heredado de Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

Se llama cuando un cuadro de diálogo secundario ha completado este turno y devuelve el control a este diálogo.

(Heredado de Dialog)
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken)

Implementación compartida de la función SendOAuthCardAsync. Esto está pensado para uso interno, para consolidar la implementación de OAuthPrompt y OAuthInput. La lógica de la aplicación debe usar esas clases de diálogo.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Implementación compartida de la función SetCallerInfoInDialogState. Esto está pensado para uso interno, para consolidar la implementación de OAuthPrompt y OAuthInput. La lógica de la aplicación debe usar esas clases de diálogo.

SignOutUserAsync(ITurnContext, CancellationToken)

Cierra la sesión del usuario.

Métodos de extensión

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

Crea una pila de diálogos e inicia un diálogo, insértalo en la pila.

Se aplica a