OAuthPrompt Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nowy prompt, który prosi użytkownika o zalogowanie się za pomocą usługi Single Sign On (SSO) Bot Framework.
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Dziedziczenie
Uwagi
Prompt spróbuje odzyskać aktualny token użytkownika, a jeśli użytkownik nie jest zalogowany, wyśle mu 'OAuthCard' z przyciskiem, który można naciśnąć, aby się zalogować. W zależności od kanału, użytkownik zostanie przekierowany przez jeden z dwóch możliwych przepływów logowania:
- Automatyczny proces logowania, w którym po zalogowaniu się użytkownik przekieruje bota do tokena dostępu użytkownika za pomocą aktywności "zdarzenie" lub "wywołanie". - Przepływ "magicznego kodu", w którym po zalogowaniu użytkownik zostaje poproszony przez usługę SSO o wysłanie botowi sześciocyfrowego kodu potwierdzającego jego tożsamość. Ten kod zostanie wysłany jako standardowa aktywność "wiadomości".
Oba procesy są automatycznie wspierane przez 'OAuthPrompt' i jedyne, na co trzeba uważać, to nie blokować działań typu 'zdarzenie' i 'wywołanie', na które może czekać prompt.
**Uwaga**: Powinieneś unikać utrzymywania tokena dostępu w innym stanie swojego bota. Usługa logowania jednokrotnego bot frameworks bezpiecznie zapisze token w Twoim imieniu. Jeśli przechowujesz go w stanie bota, może wygasnąć lub zostać cofnięty między turami.Wywołując prompt z poziomu kroku wodospadowego, powinieneś użyć tokena w kroku następującym po promptie, a następnie pozwolić tokenowi wyjść poza zakres na końcu funkcji.
### Użycie promptu
Używając go z botami DialogSet , możesz po prostu dodać nową instancję komunikatu jako nazwane dialogi, używając Add(Dialog). Następnie możesz uruchomić monit z kroku kaskadowego przy użyciu BeginDialogAsync(String, Object, CancellationToken) lub PromptAsync(String, PromptOptions, CancellationToken). Użytkownik zostanie poproszony o zalogowanie się w razie potrzeby, a jego token dostępu zostanie przekazany jako argument do kolejnego kroku waterfall.
Konstruktory
| Nazwa | Opis |
|---|---|
| OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Inicjuje nowe wystąpienie klasy OAuthPrompt. |
Właściwości
| Nazwa | Opis |
|---|---|
| Id |
Gets lub sets id dla dialogu. (Odziedziczone po Dialog) |
| Source |
Otrzymuje informacje cref="SourceRange"/>. (Odziedziczone po Dialog) |
| TelemetryClient |
Dostaje lub ustawia do IBotTelemetryClient logowania. (Odziedziczone po Dialog) |
Metody
| Nazwa | Opis |
|---|---|
| BeginDialogAsync(DialogContext, Object, CancellationToken) |
Wywoływana po wypchnięciu okna dialogowego do stosu okna dialogowego i aktywowaniu. |
| ContinueDialogAsync(DialogContext, CancellationToken) |
Wywoływane, gdy okno dialogowe monitu jest aktywnym dialogiem, a użytkownik odpowiedział przy użyciu nowego działania. |
| EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken) |
Wywoływana po zakończeniu okna dialogowego. (Odziedziczone po Dialog) |
| GetUserTokenAsync(ITurnContext, CancellationToken) |
Próby zdobycia tokena użytkownika. |
| GetVersion() |
Otrzymuje unikalny ciąg znaków reprezentujący wersję tego dialogu. Jeśli wersja zmieni się między turami, system dialogowy wyświetli zdarzenie DialogChanged. (Odziedziczone po Dialog) |
| OnComputeId() |
Buduje ID obliczeniowe do dialogu. (Odziedziczone po Dialog) |
| OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wywoływane jest po wywołaniu zdarzenia, używając |
| OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Dzwoniłem po tym, jak wydarzenie zostało przekazane wszystkim rodzicom i nie zostało rozwiązane. (Odziedziczone po Dialog) |
| OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wywoływane zanim zdarzenie zostanie przeniesione do swojego nadrzędnego. (Odziedziczone po Dialog) |
| RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Wspólna implementacja funkcji RecognizeTokenAsync. Jest to przeznaczone do użytku wewnętrznego, aby skonsolidować implementację OAuthPrompt i OAuthInput. Logika aplikacji powinna korzystać z tych klas dialogowych. |
| RegisterSourceLocation(String, Int32) |
Rejestruje cref="SourceRange"/> w podanej lokalizacji. (Odziedziczone po Dialog) |
| RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Wywoływana, gdy okno dialogowe powinno ponownie monitować użytkownika o podanie danych wejściowych. (Odziedziczone po Dialog) |
| ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Wywoływano to, gdy dialog dziecka kończył tę turę, przywracając kontrolę do tego dialogu. (Odziedziczone po Dialog) |
| SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Wspólna implementacja funkcji SendOAuthCardAsync. Jest to przeznaczone do użytku wewnętrznego, aby skonsolidować implementację OAuthPrompt i OAuthInput. Logika aplikacji powinna korzystać z tych klas dialogowych. |
| SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Wspólna implementacja funkcji SetCallerInfoInDialogState. Jest to przeznaczone do użytku wewnętrznego, aby skonsolidować implementację OAuthPrompt i OAuthInput. Logika aplikacji powinna korzystać z tych klas dialogowych. |
| SignOutUserAsync(ITurnContext, CancellationToken) |
Oznacza wypis użytkownika. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Tworzy stos okna dialogowego i uruchamia okno dialogowe, wypychając go do stosu. |