我正在尝试使用身份验证来创建自己的网站(express,html,css),但无法弄清楚如何设置和接收标头中的令牌。到目前为止,在本教程中,我一直遵循我在Postman中手动设置承载令牌并以此方式接收
const auth = async (req, res, next) => {
try {
const token = req.header('Authorization').replace('Bearer ', '')
const decoded = jwt.verify(token, 'thisismynewcourse')
const user = await User.findOne({
_id: decoded._id,
'tokens.token': token
})
if (!user) {
throw new Error('No user')
}
req.token = token
req.user = user
next()
} catch (e) {
res.status(401).send({error: 'Unable to authenticate'})
}
}
如果没有邮递员,我将如何实现这一目标?
答案 0 :(得分:0)
答案 1 :(得分:0)
无论使用哪种方法发出请求,您所拥有的都应该起作用,因此您无需更改任何代码。
例如,使用CURL,您可以运行:curl -H 'Authorization: Bearer <token>' http://localhost:8080
,并获得与Postman中相同的响应。当然,您需要用令牌替换<token>
并使用正确的URL。
可以在以下位置找到有关Bearer令牌的良好指南:What is the OAuth 2.0 Bearer Token exactly?,尽管这是专门针对OAuth令牌的,但原理基本相同。