@yuliqi/node-red-contrib-qjwt 0.0.7
This node allows you to sign and validate JSON Web Token (JWT)
node-red-contrib-qjwt
Node-RED 节点:用于 签发与验证 JSON Web Token (JWT)。
支持多种签名算法(HS256 / RS256)、多种 Token 来源(payload、Bearer Header、Query 参数等),
并支持 claims 校验、过期时间、nbf、生效时间、maxAge 等高级验证机制。
🚀 安装方式
方法一:通过 Node-RED Palette Manager 安装
- 打开 Node-RED 编辑器右上角菜单
- 点击 “管理调色板(Manage Palette)”
- 切换到 “安装(Install)” 选项卡
- 搜索
node-red-contrib-qjwt - 点击安装即可
方法二:使用 npm 安装
npm install @yuliqi/node-red-contrib-qjwt
安装完成后,节点会自动出现在 Node-RED 编辑器中,类别为 “qjwt”。
🧩 节点说明
节点:qjwt-sign —— 签发 JWT
此节点用于 签发 JSON Web Token。 支持对称密钥(Secret)或非对称密钥(Private Key)签名。
🔸 输入
| 属性 | 类型 | 描述 |
|---|---|---|
msg.payload |
object / string | 要签发的 Token 内容(payload) |
🔹 输出
| 输出端口 | 内容 |
|---|---|
msg.payload |
签发后的 JWT 字符串 |
| (可选)错误输出 | 签发失败信息 |
⚙️ 主要配置项
- Mode:签发模式(Secret / Private Key)
- Algorithm:算法,如
HS256、RS256等 - Secret / Private Key:密钥来源,可来自环境变量、输入消息或固定字符串
- Expires In:有效期(秒)
- Audience / Issuer:受众与签发者
- Not Before (nbf):生效时间(秒)
节点:qjwt-verify —— 验证 JWT
此节点用于 验证 JSON Web Token 的真实性与有效性。
🔸 输入
| 属性 | 类型 | 描述 |
|---|---|---|
msg.payload |
string | Token 字符串,或从 Header / Query 中提取 |
🔹 输出
| 输出端口 | 内容 |
|---|---|
msg.payload |
验证成功后的 Token payload 对象 |
| (可选)错误输出 | 验证失败信息 |
⚙️ 主要配置项
- Mode:验证模式(Secret / Public Key / JWK)
- Token 来源:payload、Bearer Header、Query 参数等
- Algorithms:允许算法(可选)
- Ignore Expiration / NotBefore:是否忽略过期或未生效检查
- Audience / Issuer:校验受众与签发者
- Max Age:限制 Token 最大存活时长(秒)
- Validate Claims (约束):自定义 payload 校验规则
🧠 高级功能:Claims 验证(Constraints)
支持多种基于 JSON Schema 的校验规则,可验证:
- 必填字段(
required) - 字符串格式(
pattern、email、uuid、url等) - 数值范围(
maximum_number、minimum_number) - 数组内容(
any_of、inclusion、exclusion) - 复杂嵌套属性(支持
extra.second形式的路径)
🧪 示例导入
可直接在 Node-RED 编辑器中导入示例流程使用:
菜单 → 导入 → 示例 → 选择 “JWT 示例”
导入后即可查看完整演示,包括签发、验证、过期、nbf、生效时间、maxAge 与 claims 校验等功能。