Могу ли я вернуть код статуса, отличный от 401, с помощью express-jwt? - PullRequest
0 голосов
/ 09 мая 2018

Я использую Express-JWT.Я хочу отправить другой код состояния обратно, когда это не удается.На самом деле у меня установлено 2 разных промежуточных программного обеспечения Express-JWT, одно из которых требует учетных данных, а другое, при необходимости, декодирует токен, если он там есть.С последним, если токен существует, но срок его действия истекает, я хочу вернуть другой код состояния, потому что на 401 мое приложение автоматически перенаправляет пользователя на страницу входа, и я не хочу, чтобы это происходило при дополнительной аутентификации.

Вот мои настройки Express-JWT:

const jwt = require('express-jwt');

exports.decodeAuthIfExist = jwt({
  secret: jwksRsa.expressJwtSecret({
    cache: true,
    rateLimit: true,
    jwksRequestsPerMinute: 5,
    jwksUri: `https://${process.env.AUTH0_DOMAIN}/.well-known/jwks.json`
  }),
  credentialsRequired: false,
  audience: process.env.AUTH0_AUDIENCE,
  issuer: `https://${process.env.AUTH0_DOMAIN}/`,
  algorithms: ['RS256']
});

И вот как я его использую:

app.get('/resource',
    auth.decodeAuthIfExist,
    resource.get);

Что мне нужно изменить, чтобы вернуть код состояния 402например.

1 Ответ

0 голосов
/ 09 мая 2018

express-jwt выдаст ошибку UnauthorizedError.Он вообще не устанавливает статус.

У вас есть определенное промежуточное программное обеспечение, которое обрабатывает исключение.

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