【发布时间】:2022-12-03 04:29:53
【问题描述】:
我搜索了一下,但没有找到关于这个主题的任何明确的、最新的答案。
我正在尝试在我的 NextJS 应用程序中实施 JWT 身份验证。以下是我到目前为止所拥有的。
-
/login将 (1) 检查用户/密码是否存在且有效,以及 (2) 基于私有 RS256 密钥创建 JWT 令牌的端点。 - 创建了一个中间件层来验证 JWT
JWT 的创建很好——它可以很好地从文件系统读取密钥并签署 JWT。
但是,由于边缘运行时(阅读here),我遇到了中间件无法使用节点模块(fs 和path)的问题。这使得我无法从 FS 读取公钥。
在每个请求上验证 JWT 令牌的正确方法是什么?我读过 fetching from middleware 是不好的做法,应该避免。关于这个主题的所有其他参考资料(我发现的)要么使用“秘密”而不是密钥(因此可以放入 process.env 并在中间件中使用)或掩盖事实(1)。或者我应该只创建一个单独的快速应用程序来处理 JWT 创建/验证?
【问题讨论】:
标签: node.js reactjs authentication next.js jwt