Отключить Auth не работает с пакетом BF nuget 4.7.1 - PullRequest
0 голосов
/ 13 февраля 2020

Версия

Microsoft.Bot.Streaming и Microsoft.Bot.Builder
"4.7.1"

Опишите ошибку

Для прямого теста речи в прямой линии установите IsAuthenticationDisabledAsync в true при построении BotFrameworkHttpAdapter. SendActivityAsync() не удается отправить ответ с приведенной ниже ошибкой
Failed to fetch token before processing outgoing activity. An IIdentity is required in TurnState for this operation.

Для теста веб-чата это не удалось при беседе :: ReplyToActivityWithHttpMessagesAsyn c, я получаю 401 несанкционированный выпуск

Для Воспроизведите

  1. Обновите пакет nuget BF до 4.7.1
  2. Реализуйте public class DisabledAuthCredentialProvider : ICredentialProvider, который установит IsAuthenticationDisabledAsync в true
  3. Build BotFrameworkHttpAdapterv с DisabledAuthCredentialProvider
  4. См. Исключение в SendActivitiesAsync
    (await this.GetAppCredentialsAsync(this.GetBotAppId(turnContext), (string) null, new CancellationToken()).ConfigureAwait(false)).GetTokenAsync(false);

1 Ответ

0 голосов
/ 14 февраля 2020

Кажется, работает для меня (в эмуляторе). Бег 4.7.1. Вот что у меня есть в DisabledAuthCredentialProvider

public class DisabledAuthCredentialProvider : ICredentialProvider
    {
        public Task<string> GetAppPasswordAsync(string appId)
        {
            throw new NotImplementedException();
        }

        public Task<bool> IsAuthenticationDisabledAsync()
        {
            return Task.FromResult(true);
        }

        public Task<bool> IsValidAppIdAsync(string appId)
        {
            throw new NotImplementedException();
        }
    }

Я могу поделиться своим ботом, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...