Idioma

OAuthPrompt Classe

Definição

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
OAuthPrompt

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 DialogContext.emitEvent(), seja pelo diálogo atual ou por um diálogo que o diálogo atual iniciou.

(Herdado de Dialog)
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.

Aplica-se a