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;
}
}
result = verifyJwt(token);
Результат
Если токен правильный и срок его действия не истек, после использования jwt_verify
будет получен декодированную структуру JWT:
{
"challenge_id": "3aa67786-d8cb-4ed5-ae83-ae7ace27e372",
"result": 94,
"iat": 1578001068,
"exp": 1578001128
}
Результат проверки бот/не бот можно получить из поля result
.
Last updated
Was this helpful?