Partilhar via


OAuthPrompt Classe

Definição

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
OAuthPrompt

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 DialogContext.emitEvent(), pela caixa de diálogo atual ou por uma caixa de diálogo iniciada pela caixa de diálogo atual.

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

Aplica-se a