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 prompt que pede ao utilizador para iniciar sessão usando o serviço Bot Frameworks Single Sign On (SSO).
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Herança
Observações
O prompt tenta recuperar o token atual do utilizador e, se o utilizador não estiver logado, envia-lhe um 'OAuthCard' contendo um botão que pode pressionar para iniciar sessão. Dependendo do canal, o utilizador será encaminhado através de um de dois fluxos possíveis de login:
- O fluxo automático de login onde, uma vez que o utilizador inicia sessão e o serviço SSO encaminha o bot, o utilizador acede ao token usando uma atividade de 'evento' ou 'invocar'. - O fluxo de "código mágico" onde, uma vez que o utilizador inicia sessão, é solicitado pelo serviço SSO a enviar ao bot um código de seis dígitos confirmando a sua identidade. Este código será enviado como uma atividade padrão de 'mensagem'.
Ambos os fluxos são automaticamente suportados pelo 'OAuthPrompt' e a única coisa de que deve ter cuidado é não bloquear o 'evento' nem 'invocar' atividades que o prompt possa estar à espera.
**Nota**: Deves evitar persistir o token de acesso com o teu bot noutro estado. O serviço SSO do Bot Frameworks armazenará o token com segurança em seu nome. Se o guardares no estado do teu bot, pode expirar ou ser revogado entre turnos.Ao chamar o prompt dentro de um passo waterfall, deve usar o token dentro do passo seguinte ao prompt e depois deixar o token sair do âmbito no final da sua função.
### Uso do Prompt
Quando usado com os seus bots DialogSet , pode simplesmente adicionar uma nova instância do prompt como um diálogo nomeado usando Add(Dialog). Em seguida, você pode iniciar o prompt a partir de uma etapa de cascata usando BeginDialogAsync(String, Object, CancellationToken) ou PromptAsync(String, PromptOptions, CancellationToken). O utilizador será solicitado a iniciar sessão conforme necessário e o seu token de acesso será passado como argumento para o próximo passo waterfall do chamador.
Construtores
| Name | Descrição |
|---|---|
| OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Inicializa uma nova instância da OAuthPrompt classe. |
Propriedades
| Name | Descrição |
|---|---|
| Id |
Obtém ou define o id para o diálogo. (Herdado de Dialog) |
| Source |
Obtém a informação do cref="SourceRange"/>. (Herdado de Dialog) |
| TelemetryClient |
Obtém ou configura os IBotTelemetryClient para usar na registo de madeira. (Herdado de Dialog) |
Métodos
| Name | Descrição |
|---|---|
| BeginDialogAsync(DialogContext, Object, CancellationToken) |
Chamado quando uma caixa de diálogo de prompt é empurrada 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 utilizador. |
| GetVersion() |
Recebe uma cadeia única que representa a versão deste diálogo. Se a versão mudar entre turnos, 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 levantado, usando |
| OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Liguei depois de um evento ter sido comunicado a todos os pais e não ter sido tratado. (Herdado de Dialog) |
| OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Chamado antes de um evento ser encaminhado para o seu pai. (Herdado de Dialog) |
| RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Implementação partilhada da função RecognizeTokenAsync. Isto destina-se a uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica da aplicação deve usar essas classes de diálogo. |
| RegisterSourceLocation(String, Int32) |
Regista 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 um diálogo filho completava este turno, devolvendo o controlo a este diálogo. (Herdado de Dialog) |
| SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Implementação partilhada da função SendOAuthCardAsync. Isto destina-se a uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica da aplicação deve usar essas classes de diálogo. |
| SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Implementação partilhada da função SetCallerInfoInDialogState. Isto destina-se a uso interno, para consolidar a implementação do OAuthPrompt e do OAuthInput. A lógica da aplicação deve usar essas classes de diálogo. |
| SignOutUserAsync(ITurnContext, CancellationToken) |
Desconecta o utilizador. |
Métodos da Extensão
| Name | Descrição |
|---|---|
| RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Cria uma pilha de diálogo e inicia uma caixa de diálogo, empurrando-a para a pilha. |