OAuthPrompt Classe

Definição

Cria um novo prompt que solicita que o usuário entre usando o serviço SSO (Logon Único) do Bot Frameworks.

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

Comentários

O prompt tentará recuperar o token atual do usuário e, se o usuário não estiver logado, enviará um 'OAuthCard' contendo um botão que ele pode pressionar para fazer login. Dependendo do canal, o usuário será enviado por um dos dois fluxos possíveis de login:

- O fluxo automático de login, onde, uma vez que o usuário faz login e o serviço SSO encaminha o bot, o usuário acessa o token usando uma atividade de 'evento' ou 'invoke'. - O fluxo de "código mágico" onde, uma vez que o usuário faz login, ele é solicitado pelo serviço SSO a enviar ao bot um código de seis dígitos confirmando sua identidade. Esse código será enviado como uma atividade padrão de 'mensagem'.

Ambos os fluxos são suportados automaticamente pelo 'OAuthPrompt' e a única coisa que você precisa ter cuidado é não bloquear o 'evento' e 'invocar' atividades que o prompt possa estar esperando.

**Nota**: Você deve evitar persistir o token de acesso com o outro estado do seu bot. O serviço SSO do Bot Frameworks armazenará com segurança o token em seu nome. Se você armazenar no estado do seu robô, pode expirar ou ser revogado entre os turnos.

Ao chamar o prompt dentro de um passo em cascata, você deve usar o token dentro da etapa seguinte ao prompt e então deixar o token sair do escopo ao final da sua função.

### Uso do Prompt

Quando usado com seus bots DialogSet , você pode simplesmente adicionar uma nova instância do prompt como um diálogo nomeado usando Add(Dialog). Em seguida, você pode iniciar o prompt de uma etapa de cascata usando BeginDialogAsync(String, Object, CancellationToken) ou PromptAsync(String, PromptOptions, CancellationToken). O usuário será solicitado a fazer login conforme necessário e seu token de acesso será passado como argumento para a próxima etapa da cascata do chamador.

Construtores

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

Inicializa uma nova instância da classe OAuthPrompt.

Propriedades

Nome Description
Id

Obtém ou define o id para o diálogo.

(Herdado de Dialog)
Source

Obtém as informações do cref="SourceRange"/>.

(Herdado de Dialog)
TelemetryClient

Obtém ou configura o IBotTelemetryClient uso para registro de madeira.

(Herdado de Dialog)

Métodos

Nome Description
BeginDialogAsync(DialogContext, Object, CancellationToken)

Chamado quando uma caixa de diálogo de prompt é enviada por push para a pilha de diálogo e está sendo ativada.

ContinueDialogAsync(DialogContext, CancellationToken)

Chamado quando uma caixa de diálogo de prompt é a caixa de diálogo ativa e o usuário respondeu com uma nova atividade.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Chamado quando a caixa de diálogo está terminando.

(Herdado de Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

Tenta obter o token do usuário.

GetVersion()

Recebe uma string única que representa a versão desse diálogo. Se a versão for alterada entre as transformações, o sistema de diálogo emitirá um evento DialogChanged.

(Herdado de Dialog)
OnComputeId()

Constrói o ID de computação para o diálogo.

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

Chamado quando um evento foi gerado, usando DialogContext.emitEvent(), pela caixa de diálogo atual ou por uma caixa de diálogo iniciada pela caixa de diálogo atual.

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

Chamado depois que um evento foi bolhado para todos os pais e não foi tratado.

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

Chamado antes de um evento ser colocado em bolhas para seu pai.

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

Implementação compartilhada da função RecognizeTokenAsync. Isso destina-se ao uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica do aplicativo deve usar essas classes de diálogo.

RegisterSourceLocation(String, Int32)

Registra um cref="SourceRange"/> no local fornecido.

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

Chamado quando a caixa de diálogo deve solicitar novamente entrada ao usuário.

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

Chamado quando uma caixa de diálogo filho concluiu essa curva, retornando o controle para essa caixa de diálogo.

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

Implementação compartilhada da função SendOAuthCardAsync. Isso destina-se ao uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica do aplicativo deve usar essas classes de diálogo.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Implementação compartilhada da função SetCallerInfoInDialogState. Isso destina-se ao uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica do aplicativo deve usar essas classes de diálogo.

SignOutUserAsync(ITurnContext, CancellationToken)

Desconscreve o usuário.

Métodos de Extensão

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

Cria uma pilha de diálogos e inicia uma caixa de diálogo, empurrando-a para a pilha.

Aplica-se a