OIDApp / Interactive self-study
The protocol
at your fingertips.
A signed token. One changed character. A failed verification. Protocols make more sense when you can test what protects them.
01 / Computation, not decoration
Sign. Tamper.
Verify for real.
A taste of the CryptoLab, embedded here using OIDApp’s WebCrypto functions. Values are computed in your browser; no messages or keys are sent to a server.
The signature holds. Until one character changes.
Sign a message with an ephemeral P-256 key, verify it, then change its contents and verify it again.
This experiment isolates a message signature, one building block of signed tokens. It is not complete JWT or OpenID validation. Keys remain in memory and disappear on reload.
A secret at the client. Its digest in the request.
Generate a code_verifier and its S256 code_challenge. The client must later present the verifier to exchange the authorization code.
BASE64URL(SHA-256(code_verifier))
The challenge is not the secret. PKCE binds the initial request to the code exchange; it complements the protocol’s other controls.
One bit changes. The digest transforms.
Edit the text and watch the avalanche effect: roughly half of the digest’s 256 bits change.
… / 256 bits changed
Compared with reference text: Stelau
Orange = bit flipped compared with the reference. The average is 50% over many trials, not exactly 128 bits on every edit.
A hash is not encryption. A predictable input can be found by guessing, even though the digest cannot be directly reversed.
02 / One guiding question
Which security problem
does this mechanism solve?
OIDApp connects primitives to exchanges between actors. Follow messages step by step, inspect requests and compare attacked and protected scenarios.
OAuth 2.0
Delegate access.
Roles, channels, Authorization Code, PKCE, tokens and countermeasures.
OpenID Connect
Authenticate a person.
ID Tokens, signatures, Discovery, JWKS and validation checks.
OID4VCI
Issue a credential.
Credential Offers, issuance, key possession proofs and formats.
OID4VP
Present what is necessary.
DCQL requests, selective disclosure, key binding and replay.
03 / The full laboratory
The same key.
From issuance to presentation.
In the full CryptoLab: explore SHA-256 and PKCE, sign with ES256, verify an ID Token’s signature, and experiment with possession proofs and selective disclosure. The Key Binding journey connects credential issuance to presentation.
Explore the Key Binding journey

Learn at your own pace.
Learning paths, quizzes and progress markers guide discovery. The application stores progress locally and lets you export it.
Explore the limitations.
A valid signature is not enough to validate a token. The exercises distinguish cryptographic checks, request context and protocol rules.
Connect to the specifications.
A glossary, a specification map and a comparison tool put each mechanism in context.
The building blocks behind the protocols
