如何使用节点将用户数据对象与令牌一起发送到角度前端?
Posted
技术标签:
【中文标题】如何使用节点将用户数据对象与令牌一起发送到角度前端?【英文标题】:How to send user data object along with token to the angular front-end using node? 【发布时间】:2019-08-28 13:20:17 【问题描述】:在注册和登录时,我想将用户数据与 JWT 一起发送,以便我可以更新当前用户的个人资料数据。
router.post('/signup', (req, res) =>
let userData = req.body;
let user = new User(userData);
user.save((err, registeredUser) =>
if(err)
console.log(err);
else
let payload = subject : registeredUser._id
let token = jwt.sign(payload, 'abcd');
res.status(200).send(token);
);
);
如何发送已注册用户对象和令牌。
【问题讨论】:
Instate of send useres.json()
它将以 JSON 格式返回数据。
【参考方案1】:
两种方式:
-
简单粗暴:
res.status(200).send(token, user)
从后端公开自定义标头并将令牌作为响应的一部分发送。然后,您可以使用响应正文来简单地发送用户/资源数据。 res.status(200).send(user)
。
通常#2 是一个更好的设计,因为令牌更像是身份验证/会话信息,并且可以使用后端的自定义中间件/过滤器(例如:PassportJS)进行拦截,并且始终作为请求标头的一部分从前端使用 Angular 拦截器。
Express 配置选项:headers.https://expressjs.com/en/resources/middleware/cors.html#configuration-options
【讨论】:
以上是关于如何使用节点将用户数据对象与令牌一起发送到角度前端?的主要内容,如果未能解决你的问题,请参考以下文章
在 Photon Bolt 中,如何将 int 数据列表与事件一起发送到令牌中?