Overview
Sports Index uses JWT-based authentication with HttpOnly cookies. Tokens are issued on login/signup and sent automatically via cookies or manually viaAuthorization: Bearer {token} headers.
Authentication Methods
| Method | Header/Cookie | Use Case |
|---|---|---|
| Bearer token | Authorization: Bearer {token} | API clients, mobile apps |
| HttpOnly cookie | access_token (set automatically) | Browser sessions |
| Logged-in flag | logged_in cookie (non-HttpOnly) | Frontend JS auth state checks |
Rate Limits
| Endpoint | Limit |
|---|---|
/api/auth/signup | 3/minute |
/api/auth/login | 5/minute |
/api/auth/forgot-password | 3/minute |
/api/auth/reset-password | 5/minute |
/api/auth/resend-verification | 2/minute |
Endpoints
Create Account
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | User email address |
username | string | Yes | Unique username |
password | string | Yes | Account password |
Login
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | User email |
password | string | Yes | Account password |
remember_me | boolean | No | Extend token expiry |
access_token (HttpOnly) and logged_in cookies automatically.
Logout
Requires authentication.
access_token and logged_in cookies.
Get Current User
Requires authentication.
Verify Email
Resend Verification Email
| Field | Type | Required |
|---|---|---|
email | string | Yes |
Forgot Password
| Field | Type | Required |
|---|---|---|
email | string | Yes |
Reset Password
| Field | Type | Required |
|---|---|---|
token | string | Yes |
password | string | Yes |
Claim Seed Account
| Field | Type | Required |
|---|---|---|
claim_token | string | Yes |
email | string | Yes |
password | string | Yes |