Authentication Lab

Practice real, backend-verified authentication — login, session reuse, role-based access, token expiry, and 401 vs 403. Every step below hits the real API. Nothing here is simulated.

Guest
User
Role
Cookie Not set
JWT Not issued
Storage State Not captured
Provider Email / Password (JWT)
Login Save State Reuse Roles Expiry 401 vs 403

Authenticate with a real account and receive a JWT + session cookie.

Estimated Time: 30 sec Difficulty: Easy Status: Not Started
▶ Live Execution

A real request builder — edit the JSON body below and click "Execute" to fire an actual HTTP request to this server.

POST /api/auth/login

Body (JSON) — edit email/password, then Execute sends exactly this

Current Execution

No request executed yet — log in above to see it here.

Status

Not run yet

Success Message

Not run yet

Response Body

Not run yet

Capture the authenticated browser session the way Playwright's storageState() does.

Estimated Time: 20 sec Difficulty: Easy Status: Not Started

Prove the saved session works without logging in again.

Estimated Time: 25 sec Difficulty: Easy Status: Not Started

Call an admin-only endpoint as different roles and compare the results.

Estimated Time: 40 sec Difficulty: Medium Status: Not Started

Watch a short-lived token expire, then recover it with a refresh token — no password.

Estimated Time: 60 sec Difficulty: Medium Status: Not Started

See the real difference between “who are you?” (401) and “you can’t do that” (403).

Estimated Time: 45 sec Difficulty: Medium Status: Not Started