Привязка учетной записи Amazon Echo — как идентифицировать эхо-устройство при создании и сохранении токена?

У меня есть уже существующее веб-приложение с учетными записями пользователей. Я хочу расширить функциональность с помощью Amazon echo.

Когда пользователь включает навык на своей панели инструментов Echo/Alexa, он перенаправляет его на страницу входа в мое приложение с помощью Authorization URL https://foo.com/auth.

Я проверил входящий запрос, который пришел от Authorization URL https://foo.com/auth, и в запросе нет идентификатора клиента, идентификатора пользователя или электронной почты пользователя. Мне бесполезно генерировать токен и отправлять его обратно в Amazon, если я не могу сохранить этот токен на своем веб-сервере вместе с каким-либо идентификатором эхо-клиентского устройства.

Из Аккаунт, связывающий неявное предоставление

3 Пользователь входит в систему, используя свои обычные учетные данные для вашего сайта.

4. Ваша служба аутентифицирует пользователя, а затем создает токен доступа, который уникально идентифицирует пользователя в вашей системе.

Когда amazon перенаправляет пользователей в мое приложение для ввода учетных данных для входа, как мне связать их токен, который я возвращаю им, с их эхо-устройством для будущих запросов?

введите здесь описание изображения


person dman    schedule 03.12.2017    source источник


Ответы (1)


Вы делаете это не тогда, когда пользователь вводит свои учетные данные, а после завершения связывания.

Когда пользователь запускает ваш навык, вы можете идентифицировать его с помощью context.System.user.userId, токен доступа будет в context.System.user.accessToken, а устройство в context.System.device. deviceId. Один и тот же accessToken можно использовать для нескольких устройств, а userId изменится, если пользователь отключит и снова активирует ваш навык.

Подробнее здесь: Справочник по JSON для запросов и ответов

person leandro    schedule 05.12.2017