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?