Я учусь passport.js со стратегией JWT
и хочу создать систему для выхода из системы пользователей.
Я хочу обработать так:
- Когда пользователь выходит из системы, его токен сохраняется в моей базе данных в таблице с именем
InvalidTokens
- Каждый раз, когда пользователь делает защищенный запрос, я хочу проверить, находится ли его токен втаблица
InvalidTokens
или нет
Дело в том, что я не знаю, как получить доступ к полю jwtFromRequest
в коде ниже:
// passport.js
// File where I store my authentication strategies
// ...
/**
* Use JWT strategy for all the other requests that need authentication on the
* server
*/
var opts = {
jwtFromRequest: ExtractJWT.fromAuthHeaderAsBearerToken(),
secretOrKey: 'secret',
}
passport.use('jwt', new JWTStrategy(
opts,
async (jwtPayload, done) => {
try {
const token = await TokenInvalide.findOne({
where: {
Token: '<token_value_I_can\'t_reach>',
}
})
if (token !== null)
return done(null, false);
return done(null, jwtPayload.idUtilisateur);
} catch (e) {
console.log(e);
return done(null, false);
}
}
));