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 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 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 |
| 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. |