nestjs - 如何在 NestJS 中设置身份提供者“中间件”?
问题描述
我正在尝试 NestJS,并且对目前的结果非常满意。现在,我正在为一些在我脑海中不够清晰的概念而苦苦挣扎。
我的 API 有一个 cookie 格式的授权令牌(不是 JWT)。当 API 接收到请求时,它必须使用所述 cookie 来询问另一个服务(异步),哪个用户正在发送它以及他具有什么角色。
这种从 cookie 到用户信息的交换应该预先考虑任何控制器逻辑,并且应该在全局范围内应用。
我认为这可以通过中间件、拦截器或管道来完成,但是根据 NestJS ,哪一个被认为是更好的方法?
解决方案
老实说,我会为这种功能使用警卫。检查cookie是否存在,如果不存在,则已经有问题,发回403(即return false
)。否则,可以遵循其余逻辑,您可以将信息附加到您的req
对象,从而在请求的其余部分中使用它。由于守卫是第一个发射的增强器,这也确保了该值在拦截器和某些管道中可用。
推荐阅读
- javascript - 大负载的连接重置错误
- android - 如何在自定义视图中修复捏缩放焦点?
- git - 从 GIT 触发到 Jenkins buildWithParameters 忽略管道中的参数值
- properties - NSStringto 类成员分配崩溃
- python - 如何知道分配给个人 p1 的孩子数量?
- javascript - AmCharts:导出的图表只有背景网格
- php - PHP pdo 和获取数据的安全性(插入)
- excel - 使用集合作为键的 Microsoft 脚本运行时字典
- angular - 如何在不使用 ngx-Admin Starter Kit 的情况下使用 ngx-Admin 组件?
- c#-4.0 - SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 客户端未通过身份验证发送