Я использую AWS Cognito для аутентификации пользователей.
Я создал сервер с использованием Kosjs и использовал библиотеку koa-jwt, чтобы проверить, есть ли у пользователей действительные id_tokens.
koa-jwt ожидает свойство aud в id_token, которое изначально существует в id_token, возвращенном AWS Cognito.
Но когда я использую токен обновления для получения нового токена, новый токен содержит client_id вместо aud .
Из-за этого koa-jwt больше не проверяет id_token.
Есть ли способ получить последовательный результат от AWS Cognito?
Это пример id_token после входа в систему:
{
"sub": "1Xfe6c44-XXXX-4cbf-9fb2-2778a1b0e5be",
"email_verified": true,
"iss": "https://cognito-idp.ap-northeast-1.amazonaws.com/ap-northeast-1_xxxOUKTJu",
"phone_number_verified": true,
"cognito:username": "oqtz@n.spamtrap.co",
"given_name": "Some1",
"aud": "xxxxf9f0lmr1q6ni2c09umdds",
"event_id": "9cf03730-xxxx-11e9-a89f-67080ff7c936",
"token_use": "id",
"auth_time": 1546931916,
"phone_number": "+16806666986",
"exp": 1546935516,
"iat": 1546931916,
"family_name": "Some2",
"email": "oqtz@n.spamtrap.co"
}
и это пример id_token, возвращаемого refresh_token:
{
"sub": "16fe6c44-xxxx-xxxx-9fb2-2778a1b0e5be",
"event_id": "9cf03730-xxxx-xxxx-a89f-67080ff7c936",
"token_use": "access",
"scope": "aws.cognito.signin.user.admin",
"auth_time": 1546931916,
"iss": "https://cognito-idp.ap-northeast-1.amazonaws.com/ap-northeast-1_xxxxxKTJu",
"exp": 1546939290,
"iat": 1546935690,
"jti": "6fab7b58-xxxx-xxxx-a339-ddb6467e2d4c",
"client_id": "xxxxx9f0lmr1q6ni2c09umdds",
"username": "oqtz@n.spamtrap.co"
}