Аутентификация Cortana Skill при вызове не работает
У меня полностью рабочий навык Cortana, и я попытался включить аутентификацию Oauth, перейдя по этой ссылке:
Настройте аутентификацию для сервера идентификации Microsoft
Но это не работает, просто ничего не показывает и позволяет пользователю использовать навык без аутентификации. Помимо конфигурации в ссылке выше, есть ли какой-то код, который мне нужно реализовать в службе ботов? Буду признателен за вашу помощь.
Спасибо!
Обновление 1
Вот как я настроил детали Cortana Oauth, прямо сейчас, используя пример из статьи Microsoft:
Насколько я понимаю, ничего не должно быть сделано в коде для отображения запроса на вход в систему, только фрагмент кода для получения токена аутентификации, но ничего не отображается, Skill начинает работать сразу же.
Я пытался использовать аутентификацию с GetTokenDialog и SendOAuthCardAsync, и это работает, однако к тому времени, когда я получаю код подтверждения для завершения аутентификации, если я говорю это Кортане, "она" не распознает код, и если я его набираю вместо этого это работает, но Кортана перестает говорить.
Я также следил за этим видео, и это именно то, что я сделал:
Аутентификация Build 2017 в Cortana Skills
Нужно ли обновлять BotBuilder SDK или что-то еще? Я на 3.15.2.2. Я просто никогда не получаю приглашение к входу. Спасибо!
РЕШЕНИЕ
Оказывается, это ошибка Microsoft; так как все было в порядке, я решил удалить канал Cortana и заново создать его с нуля, и теперь появляется приглашение для входа, спасибо!
1 ответ
Бот oauth и cortana oauth работают немного по-разному.
Во-первых, убедитесь, что вы включили "Cortana должен управлять идентификацией моего пользователя" в конфигурации канала Cortana через портал Azure или Botframework. Затем заполните все поля (мы обновляем документ на сайте, потому что он некорректен). Не выбирайте "Войти при необходимости", пока вы не отправите OAuth-карту перед вызовом ресурса.
Затем, когда вы активируете свое умение, должно появиться диалоговое окно OAuth. Если это не так, не забудьте, что Cortana кеширует ваш токен авторизации, если вы успешно вошли в систему один раз. Вы можете очистить токен, отключив навык через блокнот Cortana.
У меня есть образцы в узле и C#. https://github.com/bw-kforce-ms/CortanaSkillsWIP/tree/master/Consumer/Node/OAuth2Example