Express JS и JWT - тип токена не отображается в декодированном заголовке

Я только что добавил аутентификацию на основе токенов в свое экспресс-приложение JS - похоже, тип токена не отображается в декодированном разделе.

Я тестирую с использованием https://jwt.io/

Токен, который я использовал для тестирования -

 eyJhbGciOiJIUzI1NiJ9.eyJfaWQiOiJSYW4zIiwibmFtZSI6IlJhbjMgVGVzdCJ9.YPJXc4tp8NaWcboE9obwGvm-AGa6fkN1IA6y0pT7u-w"

Раздел заголовка просто показывает вверх

{
 "alg": "HS256"
}

Я ожидаю, что это появится так -

{
 "alg": "HS256",
 "typ": "JWT"
}

Пожалуйста, объясните, почему тип Token отсутствует в шапке?

Я генерирую токен, как это -

 var token = jwt.sign(JSON.stringify(user_dict), app.get('superSecret'));

Спасибо

1 ответ

Решение

"Тип" - это необязательный параметр в заголовке в соответствии со спецификацией, который обычно не используется, поэтому большинство примеров не сообщают, как это сделать. Предполагая, что вы используете эту библиотеку ( https://github.com/auth0/node-jsonwebtoken), вы сможете передать параметры "заголовку" через options.header значение, которое должно позволить вам указать поле "typ":"JWT" ​​через

var options = { "header": { "typ": "JWT" } };
var token = jwt.sign(JSON.stringify(user_dict), app.get('superSecret'), options);
Другие вопросы по тегам