OAuthPrompt Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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 |
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. |