Concept Flow - JWT token creation
Receive user data
Prepare payload
Use secret key
Call jwt.sign()
Generate token string
Send token to user
This flow shows how user data is turned into a JWT token using a secret key and the jwt.sign() function.
const jwt = require('jsonwebtoken'); const payload = { id: 123, name: 'Alice' }; const secret = 'mysecretkey'; const token = jwt.sign(payload, secret); console.log(token);
| Step | Action | Input | Output | Notes |
|---|---|---|---|---|
| 1 | Prepare payload | { id: 123, name: 'Alice' } | Payload object ready | User data collected |
| 2 | Set secret key | 'mysecretkey' | Secret key string ready | Used to sign token |
| 3 | Call jwt.sign() | payload, secret | JWT token string generated | Token encodes payload and signature |
| 4 | Print token | token string | Token string output to console | Token looks like three base64 parts |
| 5 | End | N/A | Process complete | Token ready to send to user |
| Variable | Start | After Step 1 | After Step 2 | After Step 3 | Final |
|---|---|---|---|---|---|
| payload | undefined | { id: 123, name: 'Alice' } | { id: 123, name: 'Alice' } | { id: 123, name: 'Alice' } | { id: 123, name: 'Alice' } |
| secret | undefined | undefined | 'mysecretkey' | 'mysecretkey' | 'mysecretkey' |
| token | undefined | undefined | undefined | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
JWT token creation in Express: - Prepare a payload object with user data - Use a secret key string - Call jwt.sign(payload, secret) to create token - Token is a string encoding data + signature - Send token to user for authentication