修复 Node.js v24 中 jose 库 JWT 密钥格式错误
· 阅读需 3 分钟
在为企业级 SaaS 系统升级 Node.js 版本时遇到此问题,记录根因与解法。
TL;DR
Node.js v24 对 Web Crypto API 的实现有变化,jose 库要求密钥必须是 KeyObject 或 CryptoKey 类型。用 crypto.createSecretKey() 包装密钥即可解决。
在为企业级 SaaS 系统升级 Node.js 版本时遇到此问题,记录根因与解法。
Node.js v24 对 Web Crypto API 的实现有变化,jose 库要求密钥必须是 KeyObject 或 CryptoKey 类型。用 crypto.createSecretKey() 包装密钥即可解决。