我试图将不记名令牌保存在 req.header["Authorization"]
//here a tried to authenticate using jwt strategy but send "unauthorized"
app.get ("/secret", passport.authenticate("jwt", {session: false}), (req, res) => {
res.send ("secret");
})
//register route authenticate local with passport after create a jwt token
app.post ("/register", (req, res) => {
User.register (new User ({username: req.body.username}), req.body.password, (err, user) => {
if (err)
return res.send (err);
passport.authenticate("local")(req, res, () => {
const token = "Bearer " + generateToken ({_id: user._id});
req.header["Authorization"] = token;
res.redirect ("/secret");
})
})
})
app.listen (3000);
我将令牌添加到 req.header [“Authorization”],但是当 res 重定向到秘密获取路由时,它显示“未授权”,但是当我尝试使用邮递员通过授权承载标头手动发送令牌时,它可以工作
我使用了 passport-jwt 策略和提取方法。对于提取,我使用了 fromAuthHeaderAsBearerToken()。我的问题是我们是否可以在 req obj 上附加新的标题?