Free & open · no paywall, ever

IntegrAuth Academy

Identity, security and practical AI — free, from zero. Byte-sized lessons, real diagrams, hands-on labs, zero fluff. Two programs, each with its own exam and certificate.

20 tracks 241 lessons 242 hands-on labs 230+ diagrams 100% free

English is hard? Your browser can translate this page into Tamil, Telugu, Kannada, Malayalam or Hindi. Tech words stay in English so you learn the real names.

How?
  • Chrome on phone: ⋮ menu → Translate
  • Chrome on computer: right-click → Translate to …
  • Edge: the translate icon in the address bar
Identity & API Security Track 5 · Protocols & Federation
0/166 lessons read
PROTOCOLS & FEDERATION · LESSON 11

Cheat sheet & pop quiz

Here is the whole protocol zoo in short. You get a cheat sheet, a "which flow do I use?" chooser and five scenarios to test yourself.

The ideas that decode any login

#If you remember nothing else…
1A person logs in with authorization code + PKCE. The app gets a one-time code by redirect. It POSTs the code and the PKCE verifier to the token_endpoint. A thief has no verifier (RFC 7636).
2SAML does the same job in signed XML. The IdP posts a signed assertion to the app's ACS address. Check the signature, and that it answers a request you sent.
3No person anywhere? Use client credentials. A service logs in as itself with a secret or, better, a signed client assertion.
4A gadget with no keyboard? Use the device flow. The person approves a short user code on a phone. The gadget polls until approved.
5One service calls another API for a user? Use token exchange (RFC 8693). Trade the user's token for a narrower one that names the user and the caller.
6A first arrival? JIT provisioning makes the account from verified claims at first login. Account linking joins a second sign-in method to an account. It needs fresh proof of the old account, never an unverified email alone.
7An app finds a new login service through discovery (/.well-known/openid-configuration) plus published keys (JWKS, picked by kid). The issuer string must match exactly.
8Lock down the ask, not only the answer. PAR (RFC 9126) pushes the request over the back channel. The browser carries only a request_uri. JAR (RFC 9101) signs it. FAPI 2.0 requires PAR, PKCE, exact redirect URIs, private-key client login and sender-constrained tokens. Use it for payments-grade flows only (PAR & FAPI).
9Signing out is several jobs. The app ends its own session. RP-initiated logout (end_session_endpoint, id_token_hint, an exact post_logout_redirect_uri) ends the IdP session. Back-channel logout sends a signed logout token with a sid to each app. Front-channel uses hidden frames and can fail. Revoke refresh tokens (RFC 7009). A JWT access token lives until it expires unless the API checks a cut-off (signing out).

You need… → use this flow

You need……use this flow
A person logging in to a web or mobile appAuthorization code + PKCE (anatomy of a login)
No person anywhere: a backend calling an APIClient credentials (machine login)
A gadget with no keyboard (TV, command-line tool, IoT) to sign inDevice flow (device flow)
A person to approve a machine's action on their phoneCIBA: the user approves on another device (human-in-the-loop)
A service to call a downstream API for a userToken exchange (token exchange)
An older company app that speaks only XMLSAML (SAML)
To sign a user out of everything at onceRP-initiated logout, back-channel logout and revoking the refresh token (signing out across apps)
A high-stakes flow such as payments or open bankingPAR + PKCE + exact redirect URIs, or the whole FAPI 2.0 profile (PAR & FAPI)

Pop quiz — five questions

Q1 · Maya logs in, and the IdP redirects to her app with ?code=abc123. An attacker sees the redirect and tries to redeem the code at the token_endpoint first. Why does the attempt fail?

Q2 · Maya's app gets a correctly signed SAML assertion that says she is logged in. But the app never sent a login request. Should it log her in?

Q3 · A nightly batch job calls the payments API. A developer hard-codes the client secret in the repo, and it lands in the git history. Which flow is this, and what is the right fix?

Q4 · Priya gets a text: "Your help desk is finishing setup. Go to the activation page and enter code WXYZ-1234 to approve." She is busy and almost does it. What attack is this, and which flow is abused?

Q5 · A new user signs in with a fresh social login. Its only identifier is an email address that the app has seen before. The app wants to merge the two by matching the email. Why is that dangerous?

Track complete 🎉

You can now read a login off the wire. You can pick the right flow for people, machines and gadgets. Next up is API security. Every token and flow you just learned ends at an API. So now you secure that front door. You will study the sign-in menu, certificates and TLS, signed requests and webhooks, CORS, and rate limits. Start the API security track.

🧪 Try it free

Put it to the test. Browse our free security tools on the tools shelf, or explore our services. Talk to our team when you are ready to design the real thing.