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 monit z prośbą użytkownika o zalogowanie się przy użyciu usługi Logowania jednokrotnego (SSO) platformy Bot Frameworks.
public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
- Dziedziczenie
Uwagi
Monit podejmie próbę pobrania bieżącego tokenu użytkownika i jeśli użytkownik nie jest zalogowany, wyśle do nich przycisk OAuthCard zawierający przycisk, który może nacisnąć, aby się zalogować. W zależności od kanału użytkownik zostanie wysłany za pośrednictwem jednego z dwóch możliwych przepływów logowania:
- Przepływ automatycznego logowania, w którym po zalogowaniu się użytkownik i usługa logowania jednokrotnego przekaże botowi token dostępu użytkowników przy użyciu działania "zdarzenie" lub "wywołaj". - Przepływ "magic code", w którym po zalogowaniu się użytkownik zostanie wyświetlony przez usługę logowania jednokrotnego w celu wysłania bota sześciocyfrowego kodu potwierdzającego swoją tożsamość. Ten kod zostanie wysłany jako standardowe działanie "komunikat".
Oba przepływy są automatycznie obsługiwane przez element "OAuthPrompt", a jedyną rzeczą, którą należy zachować, jest to, że nie blokujesz działań "zdarzenie" i "wywołaj", na które może czekać monit.
**Uwaga**: należy unikać utrwalania tokenu dostępu z botami w innym stanie. Usługa logowania jednokrotnego Bot Frameworks będzie bezpiecznie przechowywać token w Twoim imieniu. Jeśli przechowujesz je w stanie botów, może on wygaśnie lub zostanie odwołany między kolei.Podczas wywoływania monitu z kroku kaskadowego należy użyć tokenu w kroku po wyświetleniu monitu, a następnie pozwolić tokenowi wyjść z zakresu na końcu funkcji.
### Monituj użycie
W przypadku użycia z botem DialogSet możesz po prostu dodać nowe wystąpienie monitu jako nazwane okno dialogowe przy użyciu polecenia Add(Dialog). Następnie możesz uruchomić monit z kroku kaskadowego przy użyciu polecenia BeginDialogAsync(String, Object, CancellationToken) lub PromptAsync(String, PromptOptions, CancellationToken). Użytkownik zostanie poproszony o zalogowanie się zgodnie z potrzebami, a token dostępu zostanie przekazany jako argument do osoby wywołującej następny krok kaskadowy.
Konstruktory
OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>) |
Inicjuje nowe wystąpienie klasy OAuthPrompt. |
Właściwości
Id |
Pobiera lub ustawia identyfikator okna dialogowego. (Odziedziczone po Dialog) |
Source |
Pobiera informacje o cref="SourceRange"/>. (Odziedziczone po Dialog) |
TelemetryClient |
Pobiera lub ustawia wartość IBotTelemetryClient , która ma być używana do rejestrowania. (Odziedziczone po Dialog) |
Metody
BeginDialogAsync(DialogContext, Object, CancellationToken) |
Wywoływane 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ł nowym działaniem. |
EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken) |
Wywoływana po zakończeniu okna dialogowego. (Odziedziczone po Dialog) |
GetUserTokenAsync(ITurnContext, CancellationToken) |
Próbuje pobrać token użytkownika. |
GetVersion() |
Pobiera unikatowy ciąg reprezentujący wersję tego okna dialogowego. Jeśli wersja zmieni się między zamianami, system dialogowy emituje zdarzenie DialogChanged. (Odziedziczone po Dialog) |
OnComputeId() |
Tworzy identyfikator obliczeniowy okna dialogowego. (Odziedziczone po Dialog) |
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wywoływane, gdy zdarzenie zostało podniesione przy użyciu polecenia , za pomocą |
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wywołana po wydarzeniu została bąbelkowana do wszystkich rodziców i nie została obsłużona. (Odziedziczone po Dialog) |
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken) |
Wywoływane przed zdarzeniem jest bąbelkowe do elementu nadrzędnego. (Odziedziczone po Dialog) |
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken) |
Udostępniona implementacja funkcji RecognizeTokenAsync. Jest to przeznaczone do użytku wewnętrznego, aby skonsolidować implementację protokołu OAuthPrompt i OAuthInput. Logika aplikacji powinna używać tych klas dialogowych. |
RegisterSourceLocation(String, Int32) |
Rejestruje cref="SourceRange"/> w podanej lokalizacji. (Odziedziczone po Dialog) |
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken) |
Wywoływane, gdy okno dialogowe powinno ponownie monitować użytkownika o podanie danych wejściowych. (Odziedziczone po Dialog) |
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken) |
Wywoływana, gdy okno dialogowe podrzędne zakończyło tę kolej, zwracając kontrolkę do tego okna dialogowego. (Odziedziczone po Dialog) |
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken) |
Udostępniona implementacja funkcji SendOAuthCardAsync. Jest to przeznaczone do użytku wewnętrznego, aby skonsolidować implementację protokołu OAuthPrompt i OAuthInput. Logika aplikacji powinna używać tych klas dialogowych. |
SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext) |
Udostępniona implementacja funkcji SetCallerInfoInDialogState. Jest to przeznaczone do użytku wewnętrznego, aby skonsolidować implementację protokołu OAuthPrompt i OAuthInput. Logika aplikacji powinna używać tych klas dialogowych. |
SignOutUserAsync(ITurnContext, CancellationToken) |
Wy wylogowanie użytkownika. |
Metody rozszerzania
RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken) |
Tworzy stos okna dialogowego i uruchamia okno dialogowe, wypychając go do stosu. |