Settings
| Setting | What it is |
|---|---|
| Claims | The token's payload — sub, iss, role… A value can come from an earlier step; issued-at and expiry are added here. |
| Valid for | A duration like 15m, 1h or 7d — measured from signing time. |
| Algorithm | "HS256" or "HS384" or "HS512" |
| SecretRequired | Never printed, never logged — the token is all that leaves. |
Technical details
| Key | Value |
|---|---|
claims | object (any keys), by default {} |
expiresIn | text, by default "1h" |
algorithm | "HS256" or "HS384" or "HS512", by default "HS256" |
auth.secret | textwrite `{{ secret.NAME }}`, never the value |
Output
| Field | Type |
|---|---|
token | string |
expiresAt | string |
Sample output, and the expression for each field
- expiresAt"2026-09-19T08:00:00.000Z"
- token"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.x"
Errors
When a step of this node stops a run, the run page shows a code. Look it up:
Example step
The step as a flow file holds it. Replace each value in <…>.
{
"config": {
"algorithm": "HS256",
"auth": {
"secret": "<secret>"
},
"claims": {},
"expiresIn": "1h"
},
"label": "Sign JWT",
"type": "crypto.jwtSign",
"version": 1
}