Мы пытались получить 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, ...? Спасибо!