我在前端使用 NextJS,在后端使用 Django API,以及 DRF 和 JWT 进行身份验证,并使用 redux 进行状态管理。
我的几乎所有路由都需要身份验证。
我可以通过 NextJS 路由 API 在仅限 http 的 cookie 中存储和访问令牌,但由于我也使用 Redux,所以我的所有请求都是这样的;
用户请求 -> redux action -> nextjs 路由 -> 后端
这正常吗?我会为每个路由实现 nextjs 路由,只是为了访问仅限 http 的 cookie 并将其发送到后端端点,因为该路由需要身份验证。这实施和维护起来很乏味,我有数百条路线。
还有其他方法可以有效地实现这一目标吗?
我在前端也遇到了同样的问题,有一些方法可以做到这一点,我在后端处理它,我有
obtain token
和refresh token
的路线,当请求到达obtain token
时,我在HTTP Only Cookie
上设置令牌,与refresh token
相同,但是这样你就不能在Web以外的来源上使用你的后端,这会将你的后端与Web耦合,另一种方法是编写你自己的NextJs
上的 API 将请求后端的 obtain token
路由,然后将其存储在 NextJs
端,每次需要令牌时调用您的 NextJs
API。
这样你就解耦了你的前端和后端。