Я пытаюсь связать Alexa Skill с регистрацией приложения Microsoft, которая выдает токены на предъявителя, используя службу привязки учетных записей Amazon. И хотя он позволяет мне войти в систему и отправляет код в Amazon, я получаю классическую ошибку: «Невозможно связать ваш навык. Повторите попытку позже». Я думаю (хотя я не совсем уверен), что это проблема.
Согласно этой ветке, состояние и код аутентификации должен быть в URL-адресе перенаправления после #, например https://layla.amazon.com/api/skill/link/{appid}?{any-query-string}#code={token}&state={state}
.
Однако из инструментов разработчика Chrome Microsoft, похоже, обрабатывает код и состояние в строке запроса: https://layla.amazon.com/api/skill/link/{appid}?code={code}&state={state}&session_state={session_state}
. В результате Amazon не обрабатывает код и никогда не запрашивает токен.
Если кто-то может подтвердить, что это действительно проблема, или есть какие-либо идеи о том, как ее решить (в идеале, не кодируя весь мой собственный API авторизации, хотя мне может понадобиться помощь, если это необходимо), дайте мне знать!
Для информации:
- Я использую конечную точку V2 и код авторизации.
- Регистрация приложения Microsoft работает, так как я могу заставить его выдавать токены Postman.
- Я использовал оба URL-адреса перенаправления, которые предлагает Alexa (
https://layla.amazon.com/api/skill/link/{id}
иhttps://pitangui.amazon.com/api/skill/link/{id}
), хотя я пытался использовать их по отдельности на всякий случай, и это не помогло. - Областями являются Calendars.ReadWrite и User.Read в качестве делегированных разрешений.