【发布时间】:2020-06-27 17:32:25
【问题描述】:
每个描述 JWT 用法的示例代码都在谈论一个有效负载,通常是用户信息,例如名称和角色。
我想知道当没有额外的安全性并且只会让前端加载一个专门用于解码 JWT 的库时,在 JWT 中编码该信息有什么意义。
我要问的是,是否有理由进行这种编码,而不是在答案中与 JWT 一起发送用户数据(或您需要传递的任何有效负载)。
目前我正在发送:(这是 ExpressJs 代码)
const jwt = jwtUtils.buildToken(user);
res.json({ jwt });
其中jwt 包含带有用户信息的有效负载。
但如果我改为这样做:
const user = userModel.get(userId);
const jwt = jwtUtils.buildToken();
res.json({ jwt, user });
这样我不需要解码 JWT 来访问我的用户数据,我只需保存 JWT 以便能够在身份验证后的每个进一步请求中发送它并直接访问用户数据。
我错过了什么?
【问题讨论】:
标签: jwt