Interactive curriculum

Learn identity by seeing the wire traffic.

Browse 40 interactive lessons covering authentication, authorization, browser sessions, SAML and SCIM, OAuth, OpenID Connect, passkeys, JWT validation, token lifecycle and protection, workload identity, policy, delegation, MCP, and agent authorization. No signup or backend required.

START HERE · UNNUMBERED

Course orientation

Learn how the simulator works, how to read the message flows, when to use Guided versus Explore mode, and what the 40-lesson path covers.

Read this before Lesson 1 →
LESSON 05 · Authorization · STAGE 1

Bearer tokens

A bearer token lets its holder request the access that the token permits. The application programming interface (API) still validates the token and checks the requested operation.

Open interactive lesson →
LESSON 10 · Authentication · STAGE 2

Enterprise single sign-on

Security Assertion Markup Language (SAML) lets an enterprise identity provider send a signed authentication assertion to a service provider. This can support enterprise single sign-on (SSO).

Open interactive lesson →
LESSON 11 · Authorization · STAGE 2

Enterprise account provisioning

System for Cross-domain Identity Management (SCIM) standardizes user and group lifecycle management over Hypertext Transfer Protocol (HTTP). Single sign-on handles authentication; provisioning decides whether an account and its assignments should exist.

Open interactive lesson →
LESSON 14 · Authentication · STAGE 2

OpenID Connect

OpenID Connect, or OIDC, adds a standard authentication result to OAuth. It uses an ID token to tell the application about the user’s sign-in.

Open interactive lesson →
LESSON 15 · Authentication · STAGE 2

OpenID Connect UserInfo & claims

OpenID Connect defines a UserInfo endpoint that can return approved claims about the signed-in person. The client calls it with an access token and checks that the subject matches the identity result it already trusted.

Open interactive lesson →
LESSON 17 · Authentication · STAGE 2

Step-up authentication

A resource server can reject a token whose authentication context is too weak or too old, then tell the client what stronger authentication is required before retrying.

Open interactive lesson →
LESSON 19 · Authorization · STAGE 2

Device code

A device or command-line app without a usable browser can display a code. The user signs in and approves access on another device.

Open interactive lesson →
LESSON 22 · Authorization · STAGE 3

Token introspection

An opaque token does not reveal usable claims to the application programming interface (API). Token introspection lets an authorized API ask the authorization server whether that token is currently active.

Open interactive lesson →
LESSON 23 · Authorization · STAGE 3

OAuth token revocation

The OAuth 2.0 Token Revocation standard lets a client ask the authorization server to revoke a refresh or access token. The practical effect depends on token type, grant relationships, and how resource servers learn that access changed.

Open interactive lesson →
LESSON 25 · Authorization · STAGE 3

Refresh token rotation

With refresh token rotation, each successful refresh returns a new refresh token and invalidates the one just used. Reuse of an older token is a signal that the token family may have been stolen.

Open interactive lesson →
LESSON 27 · Authorization · STAGE 3

Pushed & rich authorization requests

Pushed Authorization Requests (PAR) move authorization details to a direct client-to-server request before the browser redirect. Rich Authorization Requests (RAR) let a client describe structured access needs instead of relying only on short scope strings.

Open interactive lesson →
LESSON 29 · Authentication · STAGE 4

Workload identity credentials

The Secure Production Identity Framework for Everyone (SPIFFE) defines workload identities. A SPIFFE Verifiable Identity Document (SVID) carries that identity in a form another workload can verify.

Open interactive lesson →
LESSON 30 · Authentication · STAGE 4

Workload identity federation

Secure Production Identity Framework for Everyone (SPIFFE) federation lets one trust domain validate selected workload identities from another domain by trusting the other domain’s published verification material.

Open interactive lesson →
LESSON 32 · Authorization · STAGE 5

OpenFGA relationships

OpenFGA supports relationship-based access control. An application programming interface (API) can ask whether a user has a required relationship to a specific object before returning that resource.

Open interactive lesson →
LESSON 33 · Authorization · STAGE 5

Tenant & delegation boundaries

A tenant is a customer or organization using a shared service. An application programming interface (API) must check the user’s tenant, the resource’s tenant, and the permissions delegated to any acting service or agent.

Open interactive lesson →
LESSON 34 · Authorization · STAGE 5

Token exchange

The OAuth 2.0 Token Exchange standard lets a service request a token for another application programming interface (API) while identifying the user and the service acting for that user.

Open interactive lesson →
LESSON 35 · Authorization · STAGE 5

Cross-domain OAuth

Organization B can exchange a token from organization A for a token that B’s application programming interface (API) accepts. B decides which identities, resources, and permissions it will allow.

Open interactive lesson →
LESSON 37 · Authorization · STAGE 6

Agent delegation

An agent host runs software that can call tools for a user. Its requests must remain within the user’s grant and the server’s access rules.

Open interactive lesson →
LESSON 38 · Authorization · STAGE 6

Biscuit tokens

A Biscuit holder can create a more restricted token without contacting the issuer. A receiving application programming interface (API) must verify the token chain and every restriction before allowing access.

Open interactive lesson →
LESSON 39 · Authorization · STAGE 7

Putting it together

An agent checks inventory in a partner organization and reads an approved quote. Six parts show sign-in, delegation, policy checks, restricted tokens, results and renewal.

Open interactive lesson →
LESSON 40 · Authorization · STAGE 7

Troubleshooting lab

Inspect a rejected application programming interface (API) request. Decide whether the problem is the credential, its intended API, or the permission for the action.

Open interactive lesson →