gpt4 book ai didi

node.js - 前端客户端的用户对象

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:47 25 4
gpt4 key购买 nike

我正在使用 Express.js 框架在 Node.js 中开发后端 API,并使用 Passport.js 实现 JWT 身份验证。

用户注册、使用用户名和密码登录并接收后端生成的 json Web token ,然后用于验证进一步的请求。

我想要实现的是,当用户登录时,始终在前端显​​示一条当前用户信息。该信息会根据用户甚至其他用户与 API 的交互而频繁更改。

这方面的常用技术是什么?我应该在 API 的每个响应中发送一个用户对象,还是应该将其作为 JWT 中的有效负载发送一次,将其存储在客户端并根据需要通过向某些用户 API 端点发出单独的请求来更新它?

实际上,JWT 负载甚至可以用于存储用户对象之类的东西,它是为此目的吗?我觉得在 JWT 有效负载中存储除某些用户标识符之外的一些重要信息是一个坏主意。

最佳答案

JWT 在过期时间之前有效。在 token 中包含经常更改的数据意味着 JWT 可能无效,但无论如何您的服务器都会接受它。如果您不想处理黑名单,请仔细考虑您要包含哪些数据并从根本上请求其他数据。

但是,如果不将任何用户数据包含到 token 中,您就无法利用 JWT 的优势之一:服务器不需要在每个请求中查询数据库,因为您可以信任 JWT 中包含的数据。

例如您可以包含全名出生日期,并考虑包含角色(如果它们不经常更改)

关于node.js - 前端客户端的用户对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41676286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com