Język

OAuthPrompt Klasa

Definicja

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
OAuthPrompt

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 DialogContext.emitEvent(), przez bieżący dialog lub dialog, który rozpoczął aktualny dialog.

(Odziedziczone po Dialog)
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.

Dotyczy