В настоящее время я использую 2:вручную сцепления Экспресс промежуточного программного
промежуточное программноеExpress-jwt, который извлекает/проверяющий в JsonWebToken из запроса и собственного ПО промежуточного слоя, который проверяет, что JWT содержит конкретную информацию (разрешений).
Я хочу условно использовать эти средние (в зависимости от того, существует ли определенный атрибут swagger на маршруте).
Я хочу сделать что-то вроде этого:
let expressjwt = function(req, res, next) { ... };
let jwtValidator = function(req, res, next) { ... };
app.use((res, req, next) => {
if(req.swagger.someAttribute) {
expressjwt(req, res, jwtValidator(req, res, next));
// The issue here is that jwtValidator will get called even if
// expressjwt produces an error
} else {
next();
}
});
Зачем передавать jwtValidator на expressjwt? Почему вы не можете просто позвонить первым, а затем вторым? – Charlie
Поскольку expressjwt является асинхронным и будет называть его последним аргументом, когда это будет сделано, с ошибкой или без (соглашение промежуточного программного обеспечения) – Nepoxx
любое обновление по этому вопросу? – Charlie