Информация в единственном другом ответе кажется немного неверной, поэтому я хотел немного обновить ее.
Упомянутый метод API Gateway великолепен и работает, но он по-прежнему выполняет то же самое, что вы можете делать вручную. С API Gateway он выполняет проверки подписи, но по-прежнему использует переданный токен, проверяет утверждения, как описано ниже, а затем просто нормализует его в объект контекста для использования.
Вы можете отправить любой токен, и это может быть подтверждено, что данный токен был подписан AWS. Это значение нельзя подделать. Если проверка прошла успешно, вы можете полагаться на то, что все данные в утверждениях имеют те же значения, которые существовали на момент подписания токена. от Amazon.
Комментарий в другом ответе правильно указывает ссылку с этой информацией: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html
С помощью Javascript можно проверить токен следующим образом:
https://gist.github.com/bradennapier/c996672944ebf511410eb45c0395f525
Обратите внимание, что это первый проход во время обнаружения функции, которая была сделана и не представляет собой готовое к работе решение. Используйте только в качестве справки.
AWS также предлагает несколько примеров для javascript и python: https://github.com/awslabs/aws-support-tools/tree/master/Cognito/decode-verify-jwt - при просмотре этого примера я заметил, что он не будет правильно проверяться при задании токен access
и будет работать только с id
токенами.
person
Braden Rockwell Napier
schedule
14.05.2019