【发布时间】:2020-06-14 00:25:18
【问题描述】:
我为授权编写代码。单击登录按钮后,我使用
创建了一个新标题res.header('Authorization', token)
admin_login 路由器:
router.post('/admin_login', async (req, res) => {
const adminDB = data.admins;
const admin = adminDB.find(admin => req.body.email === admin.email)
if (!admin) return res.status(400).send('Email in not found!')
if (admin.password !== req.body.password) return res.status(400).send('Invalid password')
const token = jwt.sign({ admin }, 'the_secret_key')
res.header('Authorization', token)
res.redirect('/admin')
})
我不会在登录管理路由器后收到授权标头,但我不会收到它。我在
中看到授权标头验证码:
const jwt = require('jsonwebtoken')
module.exports = (req, res, next) => {
const token = req.header('Authorization')
console.log(token)
if (!token) return res.status(401).send('Access Denied')
try {
const verified = jwt.verify(token, 'the_secret_key')
req.admin = verified
next()
} catch (e) {
res.status(400).send('Invalid token')
}
}
第一个 img:管理路由器中的标头
第二个img:点击登录按钮后admin_login路由器中的标题
请帮帮我
【问题讨论】:
标签: javascript node.js express jwt