为后续客户端请求设置授权标头

时间:2021-01-04 17:53:22

标签: javascript node.js express

我正在研究如何为后续用户请求设置“授权:承载...”标头。

例如,我将我的用户保存到数据库中,生成一个令牌,然后使用令牌发送一封欢迎电子邮件:

await user.save()
const token = await user.generateAuthToken()
sendWelcomeEmail(user.email, user.name, token)
res.status(201).send({ user, token })

既然用户拥有令牌,他如何在“Authorization: Bearer...”标头中使用它而不必自己在浏览器中设置标头?

这样我就可以在这里获取令牌:

const token = req.header('Authorization').replace('Bearer ', '')

2 个答案:

答案 0 :(得分:0)

只要您在邮件中以普通方式发送令牌,用户就必须始终将其包含在内。

您可以使用

向客户端发送身份验证标头
res.set('Authorization', 'Bearer '+token)

这应该留在标题中,直到会话终止

答案 1 :(得分:0)

计算机不会施展魔法,你添加它,否则没有人会这样做。 一种选择是在 sessionStorage 上设置它,只要添加它的选项卡没有关闭,令牌就会存在,如果关闭它,它将被删除