JSON Web Token
- Composition: Header . Payload . Verify Signature
Encoded:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMTIzNDU2In0.8rRtfDYtQol1EuAUzmRR6lfiPm-bCD2vIteqFdz1hZU
Decoded:
- HEADER: ALGORITHM & TOKEN TYPE
{
"alg": "HS256",
"typ": "JWT"
}
- PAYLOAD: DATA
{
"user_id": "123456"
}
- VERIFY SIGNATURE
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
rodrigo
)
- Authentication: who are you?
- Authorization: what can you do? (permission)
Install the dependencies:
npm i
Start the server:
npm run dev
Install the dependencies:
npm i jsonwebtoken@9.0.2
npm i @types/jsonwebtoken@9.0.6 -D