Next.js 和 Nest.js 身份验证

Next.js and Nest.js authentification

我有一个项目,我在前端使用 Next.js,在后端使用 Nest.js。

我想通过电子邮件和密码使用 JWT 身份验证方法。

我的问题是: 使用自定义后端为 Next.js 实施身份验证的最佳方法是什么。

我正在通过 redux-saga 发送 API 请求以从后端获取一些数据。 对我来说,后端的 Set-Cookies 不起作用。它不适用于客户端浏览器。

现在我可能的解决方案是创建一个自定义的 axios 实例并以某种方式在那里进行 Auth 检查。

但我相信应该有更好的解决方案,感谢您的帮助!

For now my possible solution is to create a custom axios instance and somehow do the Auth check there.

是的。这是解决问题的正确方法。将令牌交给您用于查询的任何内容,让它为您处理。

您可以通过多种不同的方式实现这一目标。

  1. 通过 side-effect
  2. 提供

每当发生登录事件时,运行 side-effect 将您的 axios 实例配置为始终在每个请求中发送新获取的令牌

  1. 在您的 cookie 或本地存储中设置令牌,让 axios 为每个请求检索它
  2. 在上下文中设置令牌,并且仅使用挂钩通过该上下文发出请求