NodeJS
Требования
Чтобы иметь возможность декодировать токен JWT с помощью языка JavaScript, необходимо установить пакет jsonwebtoken.
Лучший способ установить его - через менеджер пакетов npm:
$ npm install jsonwebtokenИспользование jsonwebtoken
Во-первых, необходимо импортировать пакет jsonwebtoken:
const jwt = require('jsonwebtoken');Во-вторых, необходимо прочитать и сохранить публичный ключ (используемый для расшифровки токена). Нужно заранее получить его заранее и хранить рядом с проектом (в данном случае ./keys/id_rsa.pub).
const PUBLIC_KEY = fs.readFileSync('/path/to/public/key_public.pem'); // get public keyЗатем необходимо реализовать функцию для проверки токена с использованием публичного ключа:
function verifyJwt(token) {
try {
return jwt.verify(token, PUBLIC_KEY, { algorithms: ['RS256'] });
}
catch(e) {
return;
}
}Результат
Если токен правильный и срок его действия не истек, после использования jwt_verify будет получен декодированную структуру JWT:
Результат проверки бот/не бот можно получить из поля result.
Last updated
Was this helpful?