Проверка подлинности Cortana Skill при вызове не работает

У меня полностью рабочий навык Cortana, и я попытался включить аутентификацию Oauth, перейдя по этой ссылке:

Настроить аутентификацию для сервера идентификации Microsoft

Но он не работает, он просто ничего не показывает и позволяет пользователю использовать навык без аутентификации. Есть ли какой-либо код, который мне нужно реализовать в службе ботов, помимо конфигурации, указанной в приведенной выше ссылке? Буду признателен за вашу помощь.

Спасибо!

Обновление 1

Вот как я настроил детали Cortana Oauth прямо сейчас, используя пример из статьи Microsoft:

Настройка Cortana Oauth

Насколько я понимаю, ничего другого не должно быть сделано в коде для отображения запроса на вход, только фрагмент кода для получения токена аутентификации, но ничего не отображается, навык сразу запускается.

Я пробовал использовать аутентификацию с помощью GetTokenDialog и SendOAuthCardAsync, и это работает, однако к тому времени, когда я получу код подтверждения для завершения аутентификации, если я скажу это Кортане, «она» не распознает код, и если я его введу вместо этого он работает, но Кортана перестает разговаривать.

Я тоже следил за этим видео, и это именно то, что я сделал:

Build 2017 Authentication in Cortana Skills

Мне нужно обновить SDK botBuilder или что-то в этом роде? Я на 3.15.2.2. Я просто никогда не получаю приглашения на вход. Спасибо!

РЕШЕНИЕ

Оказывается, это ошибка Microsoft; так как все было в порядке, я решил удалить канал Кортаны и воссоздать его с нуля, и теперь появляется запрос на вход в систему, спасибо!


person saman0suke    schedule 20.10.2018    source источник


Ответы (1)


Bot oauth и cortana oauth работают немного по-разному.

Во-первых, убедитесь, что вы включили «Кортана должна управлять идентификацией моего пользователя» в конфигурации канала Кортаны через лазурный портал или бот-фреймворк. Затем заполните все поля (мы постоянно обновляем документ сайта, потому что он неверный). Не выбирайте «Войти при необходимости», если вы не отправите карту OAuth перед вызовом ресурса.

Затем, когда вы активируете свой навык, должен отобразиться диалог OAuth. Если это не так, не забывайте, что Кортана кэширует ваш токен аутентификации, если вы один раз успешно вошли в систему. Вы можете очистить токен, отключив навык через записную книжку Кортаны.

У меня есть образцы в узле и С #. https://github.com/bw-kforce-ms/CortanaSkillsWIP/tree/master/Consumer/Node/OAuth2Example

person Micromuncher    schedule 21.10.2018
comment
docs.microsoft.com/en-us/cortana/skills/authentication Ближе к построенному. Однако, как уже упоминалось, в ближайшее время появятся некоторые обновления. Не стесняйтесь попросить разъяснений здесь. - person Micromuncher; 21.10.2018
comment
Спасибо !, я проверил образец по ссылке, и всякий раз, когда я нажимаю кнопку входа, созданную с помощью OAuthCard, ничего не происходит. Соединение настроено и работает (создано в настройках Oauth в настройках бота), потому что я тестировал его с помощью GetTokenDialog и SendOAuthCardAsync, но оба они возвращают код, который я должен ввести, или Кортана не распознает его, и если я наберу это работает, но Кортана перестает разговаривать, поэтому я ищу другие варианты. - person saman0suke; 22.10.2018
comment
Данные OAuth в настройках бота НЕ используются для Кортаны. Это вводит в заблуждение - я знаю. Чтобы использовать OAuth, вам необходимо включить подключенные службы из конфигурации канала Cortana. Если карта OAuth отправляется в Кортану, вы должны видеть ее только в том случае, если нет токена. Кортана не будет использовать карту oauth - она ​​полностью обрабатывается через холст. Если вы используете Invoke, вам будет предложено войти в систему на настольном или мобильном устройстве. - person Micromuncher; 23.10.2018
comment
Я обновил свой исходный вопрос; Я прочитал ваш последний комментарий и как бы понимаю, что достаточно просто настроить поля Cortana Oauth, но независимо от того, сколько раз я вызываю свой навык, говоря "Открыть [имя навыка], подсказка не отображается, и она работает сразу . - person saman0suke; 23.10.2018
comment
Выгрузите токен аутентификации из сущностей. Если токена аутентификации нет, это проблема конфигурации (и вы можете отправить снимок экрана конфигурации как из конфигурации канала, так и из регистрации приложения в Skillup на microsoft dot com.) Если есть токен аутентификации, перейдите в блокнот cortana и отключите навык. Это должно очистить токен аутентификации. Другой способ изменить это - изменить имя и фразу вызова. - person Micromuncher; 23.10.2018
comment
Проверив несколько примеров кода, статей и форумов, моя проблема заключается в том, что Кортана не выводит запрос на экран входа в систему после вызова, и я уже отключил навык от пользователя; можно ли это считать ошибкой? - person saman0suke; 23.10.2018