【发布时间】:2019-06-23 12:33:15
【问题描述】:
我使用库 Express-session 和 Passport。
在这种情况下,我想创建一个 React SPA 网站,但我对正确的系统安全性感到困惑。
我看到有很多方法可以进行身份验证,这让我感到困惑。
在passport里有2个认证:Passport-jwt和Passport-local
因为我使用 Express 会话,所以我选择使用本地护照。
我还需要使用 passport-jwt 吗?对于插入到这样的标头中以指示用户已登录的每个请求?
const opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = keys.passport.secretOrPrivateKey;
passport.use(new JwtStrategy(opts,(jwt_payload,done)=>{
let queryFindAdmin = 'select * from admin where id = ?';
db.query(queryFindAdmin,[jwt_payload.id],(err,result)=>{
if(err) return done(err,null);
if(result.length > 0){
console.log(result);
return done(null, result[0]);
}
return done(null, false);
})
}));
【问题讨论】:
标签: node.js express session passport.js