【问题标题】:Passport jwt vs passport local session护照 jwt 与护照本地会话
【发布时间】:2019-06-23 12:33:15
【问题描述】:

我使用库 Express-session 和 Passport。

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

我看到有很多方法可以进行身份​​验证,这让我感到困惑。

在passport里有2个认证:Passport-jwtPassport-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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-04-02
      • 2023-04-06
      • 2022-11-13
      • 1970-01-01
      • 2013-12-12
      • 2018-01-13
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多