Passport jwt vs护照本地会议

时间:2019-01-30 09:15:17

标签: node.js express session passport.js

我使用Express-session和Passport库。

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

我看到有很多身份验证方法,这使我感到困惑。

护照上有2个验证: Passport-jwt Passport-local

因为我使用Express会话,所以选择使用本地护照。

我还需要使用护照吗?对于插入到标头中以指示用户已登录的每个请求?

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 个答案:

答案 0 :(得分:0)

如果我理解正确,则根据定义,如果您正在使用会话,则不需要JWT令牌。 JWT令牌是会话的替代方法。