护照jwt与护照本地会话

5

我使用Express-session和Passport库。

在这种情况下,我想要创建一个React SPA网站,但是我对正确的系统安全性感到困惑。

我发现有许多身份验证方式,这使我感到困惑。

在Passport中有两种身份验证:Passport-jwtPassport-local

因为我使用了Express session,所以我选择使用passport-local。

对于每个请求,我是否仍然需要使用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);
        })
    }));
1个回答

2

如果我理解正确,如果你正在使用会话,那么你就不需要 JWT 令牌。JWT 令牌是会话的替代品。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接