在 Nest.js 中使用 Auth.js

在 Nest.js 中使用 Auth.js

💡 原文中文,约6400字,阅读约需16分钟。
📝

内容提要

本文介绍了如何在Nest.js中使用Auth.js进行身份验证。首先需要安装@auth/core依赖,并创建一个转换器将原框架的请求转换为AuthCore处理的请求。然后将请求交给AuthCore处理,可以使用Controller或Middleware捕获路由。还介绍了如何获取用户会话以判断登录状态,并提供了一个认证守卫用于验证登录成功后才能访问某些路由。最后提供了一个开源模板供参考。

🎯

关键要点

  • Auth.js 是一个身份验证库,最初为 Next.js 设计,现支持多种框架,但没有官方的 Nest.js 支持。
  • 需要安装 @auth/core 依赖,并创建转换器将原框架的请求转换为 AuthCore 处理的请求。
  • 编写转换器以适配 AuthCore,包括将原请求转换为 WebRequest 和将处理后的响应转换为原框架的 Response。
  • 可以使用 Controller 或 Middleware 捕获路由,将请求交给 AuthCore 处理。
  • 提供了一个示例的 AuthController 和 AuthMiddleware 来处理身份验证请求。
  • 登录后需要获取用户会话以判断登录状态,编写 AuthService 来处理会话获取。
  • 模块化代码,创建 DynamicModule 以配置 AuthModule,并在 AppModule 中注册。
  • 编写 AuthGuard 以确保只有登录成功后才能访问某些路由,并将会话信息附加到请求上。
  • 提供开源模板供参考,帮助用户更好地理解和实现身份验证功能。
🏷️

标签

➡️

继续阅读