Как получить Id_token из Cognito через Google Assistant - PullRequest
0 голосов
/ 10 октября 2019

Мы пытались получить id_token от пользователя в пуле пользователей AWS Cognito через oauth.

Сценарий использования: в Dialogflow мы создали некоторые действия, которые вызывают наш API. Но для того, чтобы действительно вызвать наш API, вам необходимо войти в систему. (Мы используем cognito id_token в качестве токена аутентификации для API). Поэтому мы использовали учетную запись, связывающую через oauth в Google Assistant. Вот что мы сделали:

  • Мы добавили клиент приложения в наш пул пользователей
  • Мы ввели всю необходимую информацию в настройках Google Assistant
  • Мы проверили openid как разрешение для этого клиента в пуле пользователей AWS Cognito
  • Мы добавили openid в качестве области действия в настройках GA

Мы можем успешно войти в систему пользователя, ноединственное, что мы получаем, - это токен доступа (JWT), который расшифровывается так:

{
   "sub": "3809...",
   "token_use": "access",
   "scope": "aws.cognito.signin.user.admin openid",
   "auth_time": 1570539398,
   "iss": "COGNITO_DOMAIN",
   "exp": 1570542998,
   "iat": 1570539398,
   "version": 2,
   "jti": "197106...",
   "client_id": "57t...",
   "username": "MY_USERNAME"
}

Кто-нибудь знает, как мы можем получить всю другую дополнительную информацию - id_token, email, ...? Спасибо!

...