TopicActive Directory →
⌚ About 2 min read
Read a JWT header and payload for troubleshooting while remembering that decoding never validates the signature.
Before you start
Work on a copy or a controlled test when the change can affect production. Keep timestamps, screenshots and the previous configuration so the result can be compared.
Step by step
- Remove or mask the token from public tickets and screenshots.
- Paste the JWT into the BAOI JWT Decoder, which runs locally.
- Check alg, kid, iss, aud, exp, nbf, and relevant claims.
- Compare issuer and audience with the application configuration.
- For any security decision, cryptographically verify the signature in the application.
Validation
Repeat the original test after the change and confirm that the expected service works without creating a new regression. Document the final state.
JSON / JWT: valid syntax does not mean trusted data
Technical checkpoints
- JSON requires double quotes for strings/keys and standard JSON allows neither comments nor trailing commas.
- A JWT is three base64url segments header.payload.signature; decoding header/payload does not verify the signature.
- Claims exp, nbf, iss and aud must be interpreted in the context of issuer and signing key.
JWT example
Decode locally for inspection only; never paste a real token into a third-party service.
header.payload.signature
# Base64URL != standard Base64: -/_ and padding can differTopic-specific pitfalls
- Well-formatted JSON can still be semantically invalid for the target API.
- Seeing alg=none or an unexpected algorithm without checking validation policy is a security warning.
How to validate
- JSON is validated by the parser and, when available, by the expected schema.
- A JWT is considered valid only after cryptographic verification plus issuer, audience and temporal claims checks.