OAuthPrompt Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une invite qui demande à l’utilisateur de se connecter à l’aide du service Bot Frameworks Single Sign On (SSO).
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Héritage
Remarques
L’invite tentera de récupérer le jeton actuel de l’utilisateur et, si l’utilisateur n’est pas connecté, elle lui enverra une « OAuthCard » contenant un bouton qu’il pourra appuyer pour se connecter. Selon le canal, l’utilisateur est envoyé via l’un des deux flux de connexion possibles :
- Le flux de connexion automatique où, une fois l’utilisateur connecté et que le service SSO transmet le bot, l’utilisateur accède au jeton d’accès à l’aide d’une activité « événement » ou « invoque ». - Le flux de « code magique » où, une fois connecté, l’utilisateur est invité par le service SSO à envoyer au bot un code à six chiffres confirmant son identité. Ce code sera envoyé sous forme d’activité standard de « message ».
Les deux flux sont automatiquement pris en charge par l'« OAuthPrompt » et la seule chose dont il faut faire attention est de ne pas bloquer l'« événement » et « invoquer » les activités que l’invite pourrait attendre.
**Note** : Vous devez éviter de faire persister le jeton d’accès auprès de l’autre état de vos bots. Le service Bot Frameworks SSO stocke en toute sécurité le jeton en votre nom. Si vous stockez-le dans l’état de vos bots, il peut expirer ou être révoqué entre les tours.Lorsque vous appelez l’invite à partir d’une étape en cascade, vous devez utiliser le jeton à l’étape suivante, puis laisser le jeton sortir de l’étendue à la fin de votre fonction.
### Utilisation de prompt
Lorsqu’il est utilisé avec vos bots DialogSet , vous pouvez simplement ajouter une nouvelle instance de l’invite comme une boîte de dialogue nommée en utilisant Add(Dialog). Vous pouvez ensuite démarrer l’invite à partir d’une étape en cascade en utilisant BeginDialogAsync(String, Object, CancellationToken) ou PromptAsync(String, PromptOptions, CancellationToken). L’utilisateur sera invité à se connecter si nécessaire et son jeton d’accès sera transmis comme argument à l’étape suivante de la cascade de l’appelant.
Constructeurs
| Nom | Description |
|---|---|
| OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Initialise une nouvelle instance de la classe OAuthPrompt. |
Propriétés
| Nom | Description |
|---|---|
| Id |
Obtient ou définit l’ID pour le dialogue. (Hérité de Dialog) |
| Source |
Obtient les informations du cref="SourceRange"/>. (Hérité de Dialog) |
| TelemetryClient |
Obtient ou met en place les IBotTelemetryClient outils pour l’exploitation forestière. (Hérité de Dialog) |
Méthodes
| Nom | Description |
|---|---|
| BeginDialogAsync(DialogContext, Object, CancellationToken) |
Appelé lorsqu’une boîte de dialogue d’invite est envoyée (push) sur la pile de dialogues et est activée. |
| ContinueDialogAsync(DialogContext, CancellationToken) |
Appelé lorsqu’une boîte de dialogue d’invite est la boîte de dialogue active et que l’utilisateur a répondu avec une nouvelle activité. |
| EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken) |
Appelé lorsque la boîte de dialogue se termine. (Hérité de Dialog) |
| GetUserTokenAsync(ITurnContext, CancellationToken) |
Tente d’obtenir le jeton de l’utilisateur. |
| GetVersion() |
Obtient une chaîne unique qui représente la version de ce dialogue. Si la version change entre les tours, le système de dialogue émet un événement DialogChanged. (Hérité de Dialog) |
| OnComputeId() |
Construit l’identifiant de calcul pour le dialogue. (Hérité de Dialog) |
| OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Appelé lorsqu’un événement a été déclenché, à l’aide de |
| OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Appelé après un événement a été bullené à tous les parents et n’a pas été géré. (Hérité de Dialog) |
| OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Appelé avant qu’un événement ne soit mis en bulle à son parent. (Hérité de Dialog) |
| RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Implémentation partagée de la fonction RecognizeTokenAsync. Cela est destiné à une utilisation interne, afin de consolider l’implémentation de OAuthPrompt et OAuthInput. La logique d’application doit utiliser ces classes de dialogue. |
| RegisterSourceLocation(String, Int32) |
Enregistre un cref="SourceRange"/> à l’emplacement fourni. (Hérité de Dialog) |
| RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Appelé lorsque la boîte de dialogue doit inviter à nouveau l’utilisateur à entrer. (Hérité de Dialog) |
| ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Appelé lorsqu’un dialogue enfant a terminé ce tour, renvoyant le contrôle à ce dialogue. (Hérité de Dialog) |
| SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Implémentation partagée de la fonction SendOAuthCardAsync. Cela est destiné à une utilisation interne, afin de consolider l’implémentation de OAuthPrompt et OAuthInput. La logique d’application doit utiliser ces classes de dialogue. |
| SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Implémentation partagée de la fonction SetCallerInfoInDialogState. Cela est destiné à une utilisation interne, afin de consolider l’implémentation de OAuthPrompt et OAuthInput. La logique d’application doit utiliser ces classes de dialogue. |
| SignOutUserAsync(ITurnContext, CancellationToken) |
Déconnecte l’utilisateur. |
Méthodes d’extension
| Nom | Description |
|---|---|
| RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Crée une pile de dialogues et démarre une boîte de dialogue, en l’appuyant sur la pile. |