Compartilhar via


OAuthPrompt Classe

Definição

Cria um novo prompt que solicita que o usuário entre usando o serviço de 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 dos usuários e, se o usuário não estiver conectado, ele enviará um 'OAuthCard' contendo um botão que ele pode pressionar para entrar. Dependendo do canal, o usuário será enviado por meio de um dos dois fluxos de entrada possíveis:

- O fluxo de entrada automática em que, depois que o usuário entrar e o serviço de SSO encaminhar o bot, os usuários acessarão o token usando uma atividade 'event' ou 'invoke'. - O fluxo de "código mágico" em que, depois que o usuário entrar, ele será solicitado pelo serviço de 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 automaticamente compatíveis com o 'OAuthPrompt' e a única coisa que você precisa ter cuidado é que você não bloqueia as atividades 'event' e 'invoke' que o prompt pode estar aguardando.

**Observação**: você deve evitar persistir o token de acesso com outros estados de bots. O serviço de SSO do Bot Frameworks armazenará com segurança o token em seu nome. Se você armazená-lo no estado dos bots, ele poderá expirar ou ser revogado entre as rodadas.

Ao chamar o prompt de dentro de uma etapa de cascata, você deve usar o token dentro da etapa após o prompt e, em seguida, deixar o token sair do escopo no final da função.

### Uso do prompt

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

Construtores

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Inicializa uma nova instância da classe OAuthPrompt.

Propriedades

Id

Obtém ou define a ID da caixa de diálogo.

(Herdado de Dialog)
Source

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

(Herdado de Dialog)
TelemetryClient

Obtém ou define o IBotTelemetryClient a ser usado para registro em log.

(Herdado de Dialog)

Métodos

BeginDialogAsync(DialogContext, Object, CancellationToken)

Chamado quando uma caixa de diálogo de prompt é enviada por push para a pilha de diálogos 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()

Obtém uma cadeia de caracteres exclusiva que representa a versão dessa caixa de diálogo. Se a versão for alterada entre, o sistema de diálogo emitirá um evento DialogChanged.

(Herdado de Dialog)
OnComputeId()

Compila a ID de computação para a caixa de 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 bolhas para todos os pais e não foi tratado.

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

Chamado antes que um evento seja colocado em bolhas para seu pai.

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

Implementação compartilhada da função RecognizeTokenAsync. Isso se destina ao uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica do aplicativo deve usar essas classes de caixa 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 a entrada do usuário.

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

Chamado quando uma caixa de diálogo filho concluiu esse turno, 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 se destina ao uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica do aplicativo deve usar essas classes de caixa de diálogo.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

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

SignOutUserAsync(ITurnContext, CancellationToken)

Desconecta o usuário.

Métodos de Extensão

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

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

Aplica-se a