Imp*_* 14 0 node.js express jwt bearer-token
I\xe2\x80\x99m 尝试将承载令牌添加到我的 POST 路由中。当我通过 Postman 提交 POST 请求时,我\xe2\x80\x99m 得到以下输出:
\n\n{\n "success": true,\n "token": "Bearer undefined"\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的 user.js 代码:
\n\nrouter.post("/login", (req, res) => {\n const email = req.body.email;\n const password = req.body.password;\n\n //find user by email\n User.findOne({ email }).then(user => {\n //check for user\n if (!user) {\n return res.status(404).json({ email: "user not found" });\n }\n //check password\n bcrypt.compare(password, user.password).then(isMatch => {\n if (isMatch) {\n //user matched\n const payload = { id: user.id, name: user.name, avatar: user.avatar }; //create jwt payload\n //sign token : good for one hour\n jwt.sign(\n payload,\n keys.SecretOrKey,\n { expiresIn: 3600 },\n (err, token) => {\n res.json({\n success: true,\n token: "Bearer " + token\n });\n }\n );\n } else {\n return res.status(400).json({ password: "password incorrect" });\n }\n });\n });\n});\n\n// @route GET api/users/current\n// @desc Return current user\n// @access Private route\nrouter.get(\n "/current",\n passport.authenticate("jwt", { session: false }),\n (req, res) => {\n res.json({ msg: "Success" });\n }\n);\n\nmodule.exports = router;\nRun Code Online (Sandbox Code Playgroud)\n\n我不确定问题出在哪里。任何建议表示赞赏。
\n