A quickstart takes you from an empty project to a working sign-in in about five minutes. You create an environment, copy its public key, install the SDK for your stack, and add a hosted flow or a set of components.
Authdog handles the credentials. You validate the session it issues.
What a quickstart gives you
Every integration uses the same session model. A user signs in against your environment, and Authdog issues a session: a signed JWT, delivered as the authdog-session cookie (you can also send it as Authorization: Bearer <token>). Your app never touches the raw credential. It validates that session against the identity provider's userinfo endpoint, using the environment's public key (pk_...).
The three primitives
Whatever the framework, an integration is three pieces:
- A session resolver: reads the
authdog-sessioncookie (or Bearer token), verifies it, and exposes the current user to your code. - A protected-route gate: the server-side enforcement point that rejects unauthenticated requests with a
401and lets authenticated ones through. - A sign-out handler: clears the session cookie and redirects back to your app.
Frontend SDKs wrap these in hooks and route guards. Backend SDKs wrap them in middleware. The model is in Sessions and tokens.
The five-minute path
- In the console, create a tenant, a project, and an environment (for example
dev). - Copy the environment's public key (
pk_...). That's all your app needs to validate sessions. - Install the SDK for your stack (below) and configure it with the public key and your API base URL (
NEXT_PUBLIC_API_ENDPOINT). - Add the UI: the hosted Account portal if you don't want to build screens, or components if you want them inside your own pages.
- Protect a route with the gate, and confirm the session resolves.
Pick your stack
Frontend: sign users in and manage the session in the browser:
- Next.js, React, Remix, SvelteKit, TanStack Start
- Vue / Nuxt, Angular, Astro, Gatsby, RedwoodJS
- React Native / Expo
Backend: validate sessions and call the REST API from your server:
- Node (Express, Fastify)
- Python (FastAPI, Django, Flask, Starlette, aiohttp)
- Go, Rust
Each SDK exposes the same three primitives, with bindings that match the framework. There are five-minute paths for Next.js, React, Express, FastAPI, Django, Flask, Starlette, aiohttp, and Go. Agent workloads use the Agents quickstart after Agents access is approved. Other stacks use the framework guides.
Next steps
| Read | To learn how to |
|---|---|
| Guides | Follow a task: multi-tenant apps, SSO, provisioning |
| Backend requests | Verify sessions and protect an API |
| Components | Drop the UI into your own pages |