Email and password
Passwords are hashed with Argon2, checked against configurable rules and, optionally, against known data breaches.
Auth
Passwords, social sign-in, magic links, multi-factor and sessions in one SDK. Users live in your project’s PostgreSQL and drive row-level security through auth.uid().
What’s included
Passwords are hashed with Argon2, checked against configurable rules and, optionally, against known data breaches.
Authorization-code flow with PKCE, native ID-token exchange for mobile apps, and custom OIDC providers.
Sign in with a link or a code sent by email, or a code sent by SMS.
Authenticator-app enrollment with recovery codes. Users who have MFA enabled are challenged after OAuth sign-in too.
List and revoke sessions, get alerted to new devices, and bind sessions to an IP address or expire them after inactivity.
hCaptcha, Cloudflare Turnstile or reCAPTCHA on sign-up, rate limits, and email-domain allow and block lists.
React to auth events in your own code.
Manage users, ban and unban, read the audit log and edit email templates from the service role.
Let visitors in before they sign up, promote them to full accounts later, and link several identities to one user.
Social sign-in
Need another identity provider? Register a custom OIDC provider.
How it works
The user signs in with a password, a provider, a link or a code.
If MFA is enabled, a second factor completes the sign-in.
The SDK stores the session, refreshes it automatically and rotates refresh tokens.
Verify claims locally with getClaims, and let RLS policies use auth.uid().
REST API
The SDK is a thin layer over these routes. Send your project’s API key with each request.
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/auth/register | Create an account with email and password. |
| POST | /v1/auth/login | Sign in and receive an access and refresh token. |
| POST | /v1/auth/refresh | Rotate the refresh token and get a new access token. |
| POST | /v1/auth/logout | End the current session. |
| POST | /v1/auth/magic-link | Email a one-time sign-in link. |
| POST | /v1/auth/email-otp/send | Email a one-time code. |
| POST | /v1/auth/sms/send | Text a one-time code. |
| GET | /v1/auth/oauth/{provider}/start | Start an OAuth sign-in with a provider. |
| GET | /v1/auth/user | Read the signed-in user. |
| GET | /v1/auth/sessions | List the user’s active sessions. |
| DELETE | /v1/auth/sessions/{id} | Revoke one session. |
| POST | /v1/auth/mfa/setup | Start TOTP enrollment. |
| POST | /v1/auth/mfa/verify-login | Complete a sign-in that requires a second factor. |
| POST | /v1/auth/anonymous | Create an anonymous user. |
Questions
Ready to add sign-in?
Auth is included in every project. No credit card required.