Документация AWS описывает только то, как получить открытые ключи для пользовательских пулов, но есть и открытые ключи для пулов идентификации.В то время как URL для открытых ключей пула пользователей (https://cognito -idp. регион .amazonaws.com / userPoolId /. Хорошо известен / jwks.json )содержит идентификатор пула пользователей, которого нет в URL для пулов идентификации.
Публичные ключи для пулов идентификации Cognito можно получить по адресу https://cognito -identity.amazonaws.com / .well-known / jwks_uri .Это обеспечивает открытые ключи для всех возможных пулов идентификации в разных регионах.
Чтобы определить правильный ключ, необходимо проверить заголовок Open Id Token.Свойство kid определяет правильный ключ в списке ключей.
{
"kid": "eu-central-11",
"typ": "JWS",
"alg": "RS512"
}
Например, в этом случае правый ключ будет:
{
kty: "RSA",
alg: "RS512",
use: "sig",
kid: "eu-central-11",
n: "AL9Kz62JHMpn5kBEqyoaXkM56x3l3Wi0kg0Juv71QtXo5M4ZJYxouKdcrKfevYTRNm6DE0hTbJnyj7Bh4EYbmruGdSWE970xkcFJxcgak0j4rneRX5G1E/xN27M42OOLmZCe8O6l3nksD0XGOqBPqOSEP3pYCNAYMncpSGnit56fUX+yszfMjGP3DVSUFZKtXbqwt/S0VpBi5BQbbD57R8DKenQsPfln91tgGopmXP66vZ4yWRUzs/mqHxcez3FcgHHXc6AbEJ6GOSVd9t+BCUW5kVY0aYO301PJczvB3zfsI6qebjS6BFTvMp8SqK532ZRnXEMgs/5gc9cfxpDsgvk=",
e: "AQAB"
}