Ошибка авторизации для развернутого чат-бота

У меня возникли проблемы с разработанным мной чат-ботом, который отлично работает локально, но после развертывания на dev.botframework.com, похоже, не работает.

Мой код ниже, и он прерывается в строке ... await Conversation.SendAsync (activity, () => new MyBot.AppServices.ServiceLUIS ()); где указано {"Авторизация для Microsoft App ID a8641a16-932c-49a5-af8b-a58ab2ce251f завершилась неудачно с кодом состояния" Неавторизован "и фразой причины" Неавторизованный ""}.

Я попробовал инструкции на странице Устранение неполадок аутентификации Bot Framework со следующими результатами:

  • Шаг 1: Подключение без пароля на локальном хосте - сработало нормально!
  • Шаг 2: Убедитесь, что AppID и пароль верны - они верны!
  • Шаг 3: Включите безопасность и запустите на локальном хосте - это не работает :( Однако конечная точка верна, как и MicrosoftAppID и пароль
  • Шаг 4. Подключитесь к своему боту с помощью портала разработчика Bot Framework - это тоже работает! Однако при использовании функции веб-чата на портале я также получаю внутреннюю ошибку сервера.

Там, где он ломается, я звоню в мою службу LUIS, поэтому мне кажется, что у моего бота нет разрешения на вызов моей модели LUIS. Однако я не могу найти ничего в Azure, где опубликован мой бот и находится модель LUIS, где я бы позволил модели LUIS авторизовать доступ к моему BOT. Также ничего не отображается в Luis.ai или портале Bot Framework.

Любые идеи о том, как лучше всего решить, действительно были бы полезны!

namespace MyBot
{
[BotAuthentication]
public class MessagesController : ApiController
{
    /// <summary>
    /// POST: api/Messages
    /// Receive a message from a user and reply to it
    /// </summary>
    public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {
        try
        {
            if (activity.Type == ActivityTypes.Message)
            {
                **await Conversation.SendAsync(activity, () => new MyBot.AppServices.ServiceLUIS());**
            }
            else
            {
                ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
                var reply = HandleSystemMessage(activity);
                if (reply != null)
                    await connector.Conversations.ReplyToActivityAsync(reply);
                HandleSystemMessage(activity);
            }
            var response = Request.CreateResponse(HttpStatusCode.OK);
            return response;
        }
        catch (Exception e)
        {
            return null;
        }
    }

    private Activity HandleSystemMessage(Activity message)
    {
        if (message.Type == ActivityTypes.DeleteUserData)
        {
            // Implement user deletion here
            // If we handle user deletion, return a real message
        }
        else if (message.Type == ActivityTypes.ConversationUpdate)
        {
            // Handle conversation state changes, like members being added and removed
            // Use Activity.MembersAdded and Activity.MembersRemoved and Activity.Action for info
            // Not available in all channels
        }
        else if (message.Type == ActivityTypes.ContactRelationUpdate)
        {
            // Handle add/remove from contact lists
            // Activity.From + Activity.Action represent what happened
        }
        else if (message.Type == ActivityTypes.Typing)
        {
            // Handle knowing tha the user is typing
        }
        else if (message.Type == ActivityTypes.Ping)
        {
        }

        return null;
    }
}
}

person jgoraya    schedule 21.04.2017    source источник
comment
Вы установили учетные данные LUIS в своей модели LUIS?   -  person Ezequiel Jadib    schedule 21.04.2017
comment
@EzequielJadib - Спасибо за ответ. Да, заданы идентификатор приложения LUIS и ключи подписки. Или вы имели в виду что-то другое?   -  person jgoraya    schedule 21.04.2017
comment
Диалоговое окно LUIS украшено атрибутом [Serializable]?   -  person Ezequiel Jadib    schedule 21.04.2017
comment
@EzequielJadib Да, атрибут Serializable присутствует в моем диалоговом окне LUIS   -  person jgoraya    schedule 22.04.2017
comment
Решено! Закончил создание еще одного нового ключа и пароля для бота и повторную публикацию, и это сработало!   -  person jgoraya    schedule 23.04.2017


Ответы (1)


Решено! Закончил создание еще одного нового ключа и пароля для бота и повторную публикацию, и это сработало! -

person jgoraya    schedule 22.04.2017