gpt4 book ai didi

javascript - 从回调访问 jwtFromRequest

转载 作者:行者123 更新时间:2023-11-30 19:38:22 25 4
gpt4 key购买 nike

我正在学习 passport.jsJWT 策略,我想创建一个系统来注销用户。

我想这样处理:

  1. 当用户注销时,他的 token 存储在我的数据库中,在一个名为 InvalidTokens
  2. 的表中
  3. 每次用户发出 protected 请求时,我想检查他的 token 是否在表 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);
}
}
));

最佳答案

According to the doc您可以通过将 passReqToCallback 设置为 true

request 对象传递给回调

还没有测试过,但应该是正确的方向

var opts = {
jwtFromRequest: ExtractJWT.fromAuthHeaderAsBearerToken(),
secretOrKey: 'secret',

passReqToCallback: true // <----- Add this

}

passport.use('jwt', new JWTStrategy(
opts,
async (req, jwtPayload, done) => {

const rawJWTToken = req['Authorization'].split(' ')[1]

...
}
));

关于javascript - 从回调访问 jwtFromRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55694115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com