我正在研究如何为后续用户请求设置“授权:承载...”标头。
例如,我将我的用户保存到数据库中,生成一个令牌,然后使用令牌发送一封欢迎电子邮件:
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 ', '')
答案 0 :(得分:0)
只要您在邮件中以普通方式发送令牌,用户就必须始终将其包含在内。
您可以使用
向客户端发送身份验证标头res.set('Authorization', 'Bearer '+token)
这应该留在标题中,直到会话终止
答案 1 :(得分:0)
计算机不会施展魔法,你添加它,否则没有人会这样做。 一种选择是在 sessionStorage 上设置它,只要添加它的选项卡没有关闭,令牌就会存在,如果关闭它,它将被删除