Lenguaje

OAuthPrompt Clase

Definición

Crea un 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 prompt intentará recuperar el token actual del usuario y, si el usuario no ha iniciado sesión, le enviará una 'OAuthCard' que contiene un botón que puede pulsar para iniciar sesión. Dependiendo del canal, el usuario se enviará a través de uno de los dos flujos de inicio de sesión posibles:

- El flujo automático de inicio de sesión en el que, una vez que el usuario inicia sesión y el servicio SSO reenvía el bot, el usuario accede al token usando una actividad de 'evento' o 'invoke'. - El flujo de "código mágico" en el que, una vez que el usuario inicia sesión, el servicio SSO le solicita enviar al bot un código de seis dígitos confirmando su identidad. Este código se enviará como una actividad estándar de 'mensaje'.

Ambos flujos están soportados automáticamente por el 'OAuthPrompt' y lo único de lo que debes tener cuidado es no bloquear el 'evento' ni 'invocar' actividades que el prompt pueda estar esperando.

**Nota**: Debes evitar persistir el token de acceso con el otro estado de tu bot. El servicio bot Frameworks SSO 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 de 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 prompts

Cuando se usa con tus bots DialogSet , puedes simplemente añadir una nueva instancia del prompt como un diálogo con nombre usando Add(Dialog). A continuación, puede iniciar el mensaje desde un paso de 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 transmitirá como argumento al siguiente paso en cascada del llamante.

Constructores

Nombre Description
OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Inicializa una nueva instancia de la clase OAuthPrompt.

Propiedades

Nombre Description
Id

Obtiene o establece el id para el diálogo.

(Heredado de Dialog)
Source

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

(Heredado de Dialog)
TelemetryClient

Obtienen o configuran el IBotTelemetryClient uso para la tala.

(Heredado de Dialog)

Métodos

Nombre Description
BeginDialogAsync(DialogContext, Object, CancellationToken)

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

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 cuadro de 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 diálogo. Si la versión cambia entre turnos, el sistema de diálogo emitirá un evento DialogChanged.

(Heredado de Dialog)
OnComputeId()

Construye el ID de cómputo para el diálogo.

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

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

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

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

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

Se llama antes de que se propaga un evento 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 al usuario la entrada.

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

Se llama cuando un cuadro de diálogo secundario completó este turno, devolviendo 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

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

Crea una pila de diálogos e inicia un diálogo, lo inserta en la pila.

Se aplica a