Поделиться через


OAuthPrompt Класс

Определение

Создает новый запрос, предлагающий пользователю войти с помощью службы единого входа Bot Frameworks.

public class OAuthPrompt : Microsoft.Bot.Builder.Dialogs.Dialog
type OAuthPrompt = class
    inherit Dialog
Public Class OAuthPrompt
Inherits Dialog
Наследование
OAuthPrompt

Комментарии

Запрос попытается получить текущий маркер пользователя, и если пользователь не выполнил вход, он отправит ему "OAuthCard", содержащий кнопку, которую можно нажать для входа. В зависимости от канала пользователь будет отправляться через один из двух возможных потоков входа:

— поток автоматического входа, в котором после входа пользователя и службы единого входа бот будет пересылать маркер доступа пользователей с помощью действия event или invoke. — Поток "волшебного кода", в котором после входа пользователя служба единого входа предложит боту отправить шестизначный код, подтверждающий его личность. Этот код будет отправлен в виде стандартного действия message.

Оба потока автоматически поддерживаются OAuthPrompt, и единственное, что нужно быть осторожным, это не блокировать действия event и invoke, которые может ожидать запрос.

**Примечание**. Не следует сохранять маркер доступа в другом состоянии ботов. Служба единого входа Bot Frameworks будет безопасно хранить маркер от вашего имени. Если вы храните его в состоянии ботов, он может истечь или быть отозван в промежутке между поворотами.

При вызове запроса из каскадного шага следует использовать маркер в шаге, следующем за запросом, а затем разрешить маркеру выйти за пределы области в конце функции.

### Использование запроса

При использовании с ботом DialogSet можно просто добавить новый экземпляр запроса в качестве именованного диалогового окна с помощью Add(Dialog). Затем можно запустить запрос из каскадного шага, используя или BeginDialogAsync(String, Object, CancellationToken)PromptAsync(String, PromptOptions, CancellationToken). Пользователю будет предложено выполнить вход при необходимости, а его маркер доступа будет передан в качестве аргумента вызывающей стороны на следующем каскадном шаге.

Конструкторы

OAuthPrompt(String, OAuthPromptSettings, PromptValidator<TokenResponse>)

Инициализирует новый экземпляр класса OAuthPrompt.

Свойства

Id

Возвращает или задает идентификатор диалогового окна.

(Унаследовано от Dialog)
Source

Возвращает сведения о cref="SourceRange"/>.

(Унаследовано от Dialog)
TelemetryClient

Возвращает или задает объект , используемый IBotTelemetryClient для ведения журнала.

(Унаследовано от Dialog)

Методы

BeginDialogAsync(DialogContext, Object, CancellationToken)

Вызывается, когда диалоговое окно с запросом помещается в стек диалогов и активируется.

ContinueDialogAsync(DialogContext, CancellationToken)

Вызывается, когда диалоговое окно с запросом является активным и пользователь ответил новым действием.

EndDialogAsync(ITurnContext, DialogInstance, DialogReason, CancellationToken)

Вызывается, когда диалоговое окно завершается.

(Унаследовано от Dialog)
GetUserTokenAsync(ITurnContext, CancellationToken)

Пытается получить маркер пользователя.

GetVersion()

Возвращает уникальную строку, представляющую версию этого диалогового окна. Если версия изменяется между поворотами, система диалогов будет выдавать событие DialogChanged.

(Унаследовано от Dialog)
OnComputeId()

Создает идентификатор вычисления для диалогового окна.

(Унаследовано от Dialog)
OnDialogEventAsync(DialogContext, DialogEvent, CancellationToken)

Вызывается при возникновении события с помощью DialogContext.emitEvent(), либо текущим диалогом, либо диалогом, запущенным текущим диалогом.

(Унаследовано от Dialog)
OnPostBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Вызывается после того, как событие было передано всем родителям и не было обработано.

(Унаследовано от Dialog)
OnPreBubbleEventAsync(DialogContext, DialogEvent, CancellationToken)

Вызывается перед тем, как событие будет передано в родительский объект.

(Унаследовано от Dialog)
RecognizeTokenAsync(OAuthPromptSettings, DialogContext, CancellationToken)

Общая реализация функции RecognizeTokenAsync. Это предназначено для внутреннего использования, чтобы консолидировать реализацию OAuthPrompt и OAuthInput. Логика приложения должна использовать эти классы диалогов.

RegisterSourceLocation(String, Int32)

Регистрирует cref="SourceRange"/> в указанном расположении.

(Унаследовано от Dialog)
RepromptDialogAsync(ITurnContext, DialogInstance, CancellationToken)

Вызывается, когда диалоговое окно должно повторно запрашивать ввод данных у пользователя.

(Унаследовано от Dialog)
ResumeDialogAsync(DialogContext, DialogReason, Object, CancellationToken)

Вызывается, когда дочерний диалог завершает этот шаг, возвращая управление этому диалогу.

(Унаследовано от Dialog)
SendOAuthCardAsync(OAuthPromptSettings, ITurnContext, IMessageActivity, CancellationToken)

Общая реализация функции SendOAuthCardAsync. Это предназначено для внутреннего использования, чтобы консолидировать реализацию OAuthPrompt и OAuthInput. Логика приложения должна использовать эти классы диалогов.

SetCallerInfoInDialogState(IDictionary<String,Object>, ITurnContext)

Общая реализация функции SetCallerInfoInDialogState. Это предназначено для внутреннего использования, чтобы консолидировать реализацию OAuthPrompt и OAuthInput. Логика приложения должна использовать эти классы диалогов.

SignOutUserAsync(ITurnContext, CancellationToken)

Осуществляет выход пользователя из системы.

Методы расширения

RunAsync(Dialog, ITurnContext, IStatePropertyAccessor<DialogState>, CancellationToken)

Создает стек диалогов и запускает диалог, помещая его в стек.

Применяется к