Cognito - Проверьте правильность idToken - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть внутренний API в Node.js, который извлекает токен идентификатора Amazon Cognito из параметра запроса.Мне нужно проверить, действителен ли этот токен.Есть ли способ проверить это с помощью aws-sdk или amazon-cognito-identity-js SDK?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

У Amazon есть библиотека для декодирования и проверки токенов Cognito: https://github.com/awslabs/aws-support-tools/tree/master/Cognito/decode-verify-jwt

0 голосов
/ 03 февраля 2019

Идентификационный токен Cognito содержит утверждение «exp» при декодировании, которое указывает время, после которого идентификационный токен будет недействительным.Цитирование официальной документации OpenID ,

Время истечения срока действия, после которого токен ID НЕ ДОЛЖЕН приниматься к обработке.Обработка этого параметра требует, чтобы текущая дата / время ДОЛЖНА быть раньше даты / времени истечения срока, указанного в значении.

Чтобы декодировать токен JWT в JavaScript, вы можете обратиться к библиотеке, подобной JsonWebToken , предоставленный Auth0.

Чтобы использовать библиотеку для декодирования существующего токена ID с использованием упомянутой библиотеки, вы можете обратиться к следующему фрагменту кода:

// get the decoded payload ignoring signature, no secretOrPrivateKey needed
var decoded = jwt.decode(token);

// get the decoded payload and header
var decoded = jwt.decode(token, {complete: true});
console.log(decoded.header);
console.log(decoded.payload) 

Обратите внимание, что токены JWT, сгенерированные Cognito, являются OIDCсовместимость, и вы можете также обратиться к этой документации для получения дополнительной информации о токенах Cognito.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...