繁体   English   中英

在 nest.js 中存储用户信息或任何其他请求上下文信息的位置

[英]Where to store user information or any other request context information in nest.js

这更像是一个理论问题,而不是特定的代码问题。 在我的nest.js API 中使用JWT 身份验证时,令牌验证成功完成并收到用户身份后,我在哪里将此信息保存在运行请求上下文中,以便在我的应用程序中深入使用(可能在服务或其他类中) )。 例如,我需要更新数据库中记录的某些属性以及更新它的人。 这个数据库查询可以嵌套在我的应用程序的深处,而无法访问请求 object。

请注意,用户身份应该仅在当前请求的上下文中可用,并且不同的请求可能具有不同的用户信息。 我在 Nest 的文档页面上阅读了有关执行上下文的信息,但这并没有给我任何想法。

NodeJS 中通常的做法是将用户身份附加到request object 的user属性上。 这就是护照的做法,但请注意,由于ExpressFastify request对象不同,这可能会导致两个适配器之间出现一些不同的行为。 添加身份(通常在警卫中完成)后您会做什么,在 controller 中,从req.user获取身份(这可以通过拉取整个请求( @Request() )或通过创建自定义装饰器来完成)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM