2016-12-07 5 views
1

Никакой авторизации при использовании «Проверить соединение с вашим ботом» на портале рамок бота.Bot Framework Аутентификация не работает

Я видел несколько вопросов здесь по одному и тому же вопросу, но до сих пор не может заставить это работать так, как должно. Я пытаюсь обеспечить мое разрешение конечных точек работает, но я продолжаю получать ошибки ...

Я следовал рекомендациям к письму: https://docs.botframework.com/en-us/support/troubleshooting-bot-framework-authentication/

В первой ошибки было;

InternalServerError 
{ 
"message": "An error has occurred.", 
"exceptionMessage": "Object reference not set to an instance of an object.", 
"exceptionType": "System.NullReferenceException", 
"stackTrace": " 

(и т.д ...)

Я работал, что мне нужно обновить мой лазурный план основной включить SSL. Однако, когда я сейчас тестирую свое бот-соединение через портал рамок бота, я получаю;

InternalServerError 
{ 
    "message": "An error has occurred." 
} 

Сам бот отлично работает над Skype и webchat - его просто часть авторизации, которая не хочет работать.

Следуя ссылке из веб-приложения, размещенного на лазурном, доказывает, что у меня есть адрес HTTPS. Единственное, что я не пробовал, - это приобрести выделенный SSL-сертификат для моего приложения.

Но, безусловно, основные планы Azure включают SSL под общим сертификатом Microsoft? Есть предположения?

Один последний фрагмент информации, канал webchat для бота, постоянно показывает мне следующую проблему;

There was an error sending this message to your bot: HTTP status code 
InternalServerError 

Azure хостинг, веб-приложение, b1 базовый план ...

ответ

1

Хорошо, мне удалось решить этот процесс путем устранения. Плохой код ниже (от MessagesController.cs);

if (activity.Type == ActivityTypes.Message || activity != null) 

Хотя код работает счастливо, авторизация конечной точки срабатывает, когда она попадает;

activity != null 

Следовательно, возвращаясь к следующим действиям авторизации на конечной точке;

if (activity.Type == ActivityTypes.Message) 

Не спрашивайте меня, как нулевой чек был в коде, я не знаю! Или почему авторизация не нравится нулевая проверка.

1

Вы установите AppSettings правильно?

<!-- update these with your BotId, Microsoft App Id and your Microsoft App Password--> 
<add key="BotId" value="YourBotId" /> 
<add key="MicrosoftAppId" value="YourAppId" /> 
<add key="MicrosoftAppPassword" value="YourAppPassword" /> 

Вы можете получить их из Bot Framework site в редактировании детали вашего бота

Кроме того, вам не придется покупать специальный сертификат SSL для вашего приложения. Вам просто нужно установить конечную точку обмена сообщениями с помощью https-url (https://foobot.azurewebsites.net/api/messages)

+0

Определенно сделали все это ... Если я перейду прямо к URL-адресу https через браузер (https: //xxxx.azurewebsites.net/api/messages), я получаю: Запрашиваемый ресурс не поддерживает метод http 'GET'. Taylor

+0

@ Тейлор - еще одна вещь, которая приходит мне на ум, заключается в том, что вы не помещаете тег [Serializable] во все ваши диалоги. – jcmontx

+0

Это определенно во всех диалогах, у меня есть ряд поддерживающих классов .. Доступ к DB и т. Д. – Taylor

Смежные вопросы