BOT Framework - Использование TeamsSsotokenexchangeMiddleware предотвращает, как он не вызванC#

Место общения программистов C#
Ответить
Anonymous
 BOT Framework - Использование TeamsSsotokenexchangeMiddleware предотвращает, как он не вызван

Сообщение Anonymous »

У меня есть бот MS Teams, сделанный с C# Bot Framework SDK. Реализация аналогична этому образцу кода. < /P>
Моя цель - использовать SSO и молча принести токен, используя OAuthprompt. Это в клиенте MS Teams, когда бот загружается как пользовательское приложение. < /P>

Код: Выделить всё

private async Task PromptStepAsync(WaterfallStepContext stepContext, CancellationToken ct)
{
return await stepContext.BeginDialogAsync(nameof(OAuthPrompt), null, ct);
}

private async Task LoginStepAsync(WaterfallStepContext stepContext, CancellationToken ct)
{
var tokenResponse = (TokenResponse)stepContext.Result;
if (tokenResponse?.Token == null)
{
await stepContext.Context.SendActivityAsync(MessageFactory.Text("Login was not successful, please try again."), ct);
return await stepContext.EndDialogAsync(cancellationToken: ct);
}
...
}
Вот как это выглядит в командах:

Проблем api.botframework.com/api/usertoken/gettoken и возвращает 404, после чего он пытается отправить карту OAuth (не показывает, когда я устанавливает URL -адрес для обмена токена в соединении бота). Когда он вызовет во второй раз, он возвращает 200.protected override async Task OnTeamsSigninVerifyStateAsync(ITurnContext turnContext, CancellationToken cancellationToken)
{
await _loginDialog.RunAsync(turnContext, _conversationState.CreateProperty(nameof(DialogState)), cancellationToken);
}
< /code>
и я заметил, что это не поразит. Однако, когда я снял команды, адаптер Teamssotokenexchangemiddle с адаптера бота, функция получает удар, и это приводит к тому, что диалоговое окно входа в систему начинается снова, и я получу токен с первой попытки. Тем не менее, я не знаю, ожидается ли это поведение, потому что в образце Microsoft они используют обе команды Sotokenexchangemiddleware и OnteamsSignInverifyStateAsync. < /P>
Бот, кажется, работает нормально, когда я не использую TeamssotokenexChangeMiddle, но я чувствую, что я не так, что я не так. OAuthPrompt не должен возвращать 404, даже если его вызовут в первый раз? URL и токен носителя одинаково оба раза, поэтому я не знаю, почему он иногда возвращает 404, а иногда и 200.

Подробнее здесь: https://stackoverflow.com/questions/797 ... signinveri
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»