在没有邮递员的情况下如何设置和获取授权标头(承载者令牌)?

时间:2020-07-16 20:05:56

标签: node.js express jwt

我正在尝试使用身份验证来创建自己的网站(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'})
    }
}

如果没有邮递员,我将如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

在邮递员中,您可以查看使用不同主流语言进行的这些呼叫的实际代码。我个人认为它非常有用,希望能解决您的问题

enter image description here

答案 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令牌的,但原理基本相同。