nestjs中jwt认证成功后后续接口怎么获取jwt的payload
看了很多博客每个都写的jwt的认证却没有写怎么获取payload中的内容
请教一下如何获取payload中的内容呢
help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
看了很多博客每个都写的jwt的认证却没有写怎么获取payload中的内容
请教一下如何获取payload中的内容呢
help
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
JWT是由三段信息构成的,每段之间用 “.” 分隔。第一部分是 token 描述信息,第三部分是加密的签证,中间部分就是载荷(payload)了。
第一部分和第二部分,都是一个简单的 JSON 对象,用 base64 编码,所以可以很简单的根据 “.” 把这个 jwt 分成三份,取出第二份,用 base64 解码,得到载荷 JSON。
新建一个user.decorator.ts, 放入上面的代码,你可以把这个文件放到user module里
需要用的时候,像提取query参数那么样 @AuthUser('email') email: string
上面引号里的email,你替换成任意你放在payload里的东西,如果你想拿整个payload,就括号里面什么都不写,外面写个payload
这个方法只能用在校验jwt的api上,因为只有校验jwt,才会从payload里取值并放在req.user里