OAuthPrompt Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria um novo pedido que pede ao utilizador para iniciar sessão com o serviço Início de Sessão Único (SSO) do Bot Frameworks.
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Herança
Observações
O pedido tentará obter o token atual dos utilizadores e, se o utilizador não tiver sessão iniciada, enviar-lhes-á um "OAuthCard" com um botão que podem premir para iniciar sessão. Consoante o canal, o utilizador será enviado através de um de dois fluxos de início de sessão possíveis:
- O fluxo de início de sessão automático em que quando o utilizador iniciar sessão e o serviço SSO reencaminharão o bot para o token de acesso dos utilizadores através de uma atividade "evento" ou "invocar". - O fluxo "código mágico" em que, assim que o utilizador iniciar sessão, será solicitado pelo serviço SSO a enviar ao bot um código de seis dígitos que confirme a respetiva identidade. Este código será enviado como uma atividade de "mensagem" padrão.
Ambos os fluxos são automaticamente suportados pelo "OAuthPrompt" e a única coisa que precisa de ter cuidado é que não bloqueia as atividades "evento" e "invocar" que o pedido pode estar à espera.
**Nota**: deve evitar manter o token de acesso com os bots noutro estado. O serviço SSO do Bot Frameworks irá armazenar em segurança o token em seu nome. Se o armazenar no estado dos bots, este poderá expirar ou ser revogado entre turnos.Ao chamar o pedido a partir de um passo de cascata, deve utilizar o token no passo seguinte à linha de comandos e, em seguida, deixar o token sair do âmbito no final da sua função.
### Pedir Utilização
Quando utilizado com os bots DialogSet , pode simplesmente adicionar uma nova instância do pedido como uma caixa de diálogo com nome com Add(Dialog). Em seguida, pode iniciar o pedido a partir de um passo de cascata com BeginDialogAsync(String, Object, CancellationToken) ou PromptAsync(String, PromptOptions, CancellationToken). Será pedido ao utilizador para iniciar sessão conforme necessário e o token de acesso será transmitido como um argumento para os chamadores no próximo passo de cascata.
Construtores
OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Inicializa uma nova instância da OAuthPrompt classe . |
Propriedades
Id |
Obtém ou define o ID da caixa de diálogo. (Herdado de Dialog) |
Source |
Obtém as informações do cref="SourceRange"/>. (Herdado de Dialog) |
TelemetryClient |
Obtém ou define o IBotTelemetryClient para utilizar para o registo. (Herdado de Dialog) |
Métodos
BeginDialogAsync(DialogContext, Object, CancellationToken) |
Chamada quando uma caixa de diálogo de pedido é enviada para a pilha de caixa de diálogo e está a ser ativada. |
ContinueDialogAsync(DialogContext, CancellationToken) |
Chamada quando uma caixa de diálogo de pedido é a caixa de diálogo ativa e o utilizador respondeu com uma nova atividade. |
EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken) |
Chamada quando a caixa de diálogo estiver a terminar. (Herdado de Dialog) |
GetUserTokenAsync(ITurnContext, CancellationToken) |
Tenta obter o token do utilizador. |
GetVersion() |
Obtém uma cadeia exclusiva que representa a versão desta caixa de diálogo. Se a versão mudar entre turnos, o sistema de caixa de diálogo emitirá um evento DialogChanged. (Herdado de Dialog) |
OnComputeId() |
Cria o ID de computação da caixa de diálogo. (Herdado de Dialog) |
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chamado quando um evento foi gerado, utilizando |
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chamada depois de um evento ter sido bolhado para todos os pais e não ter sido tratado. (Herdado de Dialog) |
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chamado antes de um evento ser bolhado para o respetivo principal. (Herdado de Dialog) |
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Implementação partilhada da função RecognizeTokenAsync. Destina-se a utilização interna, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica da aplicação deve utilizar essas classes de caixa de diálogo. |
RegisterSourceLocation(String, Int32) |
Regista um cref="SourceRange"/> na localização fornecida. (Herdado de Dialog) |
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Chamada quando a caixa de diálogo deve pedir novamente entrada ao utilizador. (Herdado de Dialog) |
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Chamada quando uma caixa de diálogo subordinada concluiu esta curva, devolvendo o controlo a esta caixa de diálogo. (Herdado de Dialog) |
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Implementação partilhada da função SendOAuthCardAsync. Destina-se a utilização interna, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica da aplicação deve utilizar essas classes de caixa de diálogo. |
SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Implementação partilhada da função SetCallerInfoInDialogState. Destina-se a utilização interna, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica da aplicação deve utilizar essas classes de caixa de diálogo. |
SignOutUserAsync(ITurnContext, CancellationToken) |
Termina a sessão do utilizador. |
Métodos da Extensão
RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Cria uma pilha de caixa de diálogo e inicia uma caixa de diálogo ao enviá-la para a pilha. |