Authentication API
All authentication endpoints are under/api/v1/auth/ and are rate-limited to 20 requests per minute per IP.
OAuth Login
GET /api/v1/auth/google
Initiates Google OAuth 2.0 login flow. Redirects the browser to Google’s authorization page.GET /api/v1/auth/google/callback — handled automatically.
GET /api/v1/auth/github
Initiates GitHub OAuth 2.0 login flow. Redirects to GitHub’s authorization page.GET /api/v1/auth/github/callback — handled automatically.
GET /api/v1/auth/steam/login
Initiates Steam OpenID login for unauthenticated users. Redirects to Steam’s login page.GET /api/v1/auth/steam/login/callback — handled automatically.
GET /api/v1/auth/steam
Links a Steam account to an authenticated user. Requires an active session.This endpoint requires authentication. The user must already be logged in via another provider.
GET /api/v1/auth/steam/callback — handled automatically.
Magic Links
POST /api/v1/auth/magic/request
Request a magic link email for passwordless login. Request Body:The response is always the same regardless of whether the email exists. This prevents email enumeration.
GET /api/v1/auth/magic/verify
Verify a magic link token and create a session. Called when the user clicks the link in their email. Query Parameters:| Parameter | Type | Description |
|---|---|---|
token | string | The magic link token |
Session Management
GET /api/v1/auth/me
Returns the current authenticated user, ornull if not authenticated.
- Authenticated
- Not Authenticated