Идентификационный токен, выданный AWS Cognito User Pool, является токеном JWT, подписанным AWS.После выдачи токен действителен в течение 1 часа.В течение этого 1 часа невозможно отозвать токен, поскольку он не имеет состояния.
Amazon Cognito генерирует две пары ключей RSA для каждого пула пользователей.Закрытый ключ каждой пары используется для подписи соответствующего идентификационного токена или токена доступа.Открытые ключи доступны по адресу в следующем формате:
https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json
Поскольку открытый ключ общедоступен, любой может проверить, является ли токен JWT подлинным и выпущенным AWS Cognito.
Однако для этого требовалось несколько вещей.
- Проверка кодировки токена JWT на соответствие стандарту JWT.
- Проверка издателя JWT, является ли он конкретнымПул пользователей (проверьте его идентификатор).
- Проверьте, является ли токен идентификатором токена (необязательно).
- Проверьте аудиторию токена (выдан ли он для определенного приложения).
- Проверка подписи токена (для этого нужен открытый ключ).
- Проверка истечения срока действия токена.
Эта информация уже является автономнойв строке токена JWT, правильно закодированной в соответствии со стандартом JWT.
Таким образом, даже пул пользователей Cognito удаляется, если существует действительный токен (<1 час после выдачи), он должен быть действительным, еслипроцесс проверки использует сохраненный открытый ключ для его проверки. </p>