作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 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);
}
}
));
最佳答案
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/
我正在学习 passport.js 和 JWT 策略,我想创建一个系统来注销用户。 我想这样处理: 当用户注销时,他的 token 存储在我的数据库中,在一个名为 InvalidTokens 的表中
我是一名优秀的程序员,十分优秀!