Aurabase Logo
aurabasedocs
docsServicesAuth

Authentification

Identité production-ready en trois lignes. OAuth (15 providers), MFA TOTP, passkeys WebAuthn, magic links, RBAC granulaire — un seul SDK, zéro redirection opaque.

7 min de lecture·Niveau intermédiaire·Révisé le 15 avr. 2026
#
Vue d’ensemble

Ce que fait aura-auth

§ 01

Le service aura-authémet et valide des JWT signés (RS256 via JWKS tournant) pour les utilisateurs d'un projet. Il gère le cycle de vie complet : inscription, vérification email, MFA, rotation des refresh tokens, révocation côté serveur.

Chaque token embarque sub, project_id, role, tenant. Le gateway injecte ces claims dans les connexions Postgres via request.jwt.claims, rendant les policies RLS directement accessibles à auth.uid(), auth.role(), auth.tenant().

Info
Les tables utilisateurs vivent dans project_{uuid}_auth : users, oauth_accounts, refresh_tokens, mfa_factors, sessions, auth_audit_log.
#
Modèle mental

Trois acteurs, trois responsabilités

§ 02

Le client signe un challenge, le service frappe la base, le gateway valide à chaque requête ultérieure.

flux sign-in
TEXT
# 1. Client → aura-auth : credentials
POST /auth/v1/signin/password { email, password }
# 2. aura-auth : Argon2id verify + MFA challenge si requis
if password OK && mfa_required → { mfaChallenge: "...", expires: 5min }
else → { session, access_token, refresh_token }
# 3. Requêtes suivantes passent par gateway
Authorization: Bearer <jwt>
gateway verify via JWKS → inject request.jwt.claims → Postgres RLS
#
Méthodes supportées

Huit mécanismes prêts

§ 03
Email + mot de passe
Argon2id, vérification email optionnelle, rotation sécurisée.
OAuth 2.1 · PKCE
15 providers maintenus — Google, GitHub, Apple, Microsoft, Slack…
MFA TOTP
Authy, 1Password, Google Authenticator. Fallback SMS.
Passkeys · WebAuthn
Enregistrement multi-device, sync iOS/Android/macOS/Windows.
Magic links & OTP
Email sans mot de passe, templates i18n, rate-limit par adresse.
RBAC granulaire
Rôles, permissions, hiérarchies org. Policies RLS auto-générées.
Session binding
Device fingerprint, IP check, rotation refresh tokens.
Bot detection
Heuristiques comportementales, block rate 99,7%.
#
Exemple minimal

Quatre flux, un SDK

§ 04
app/actions/auth.tsTYPESCRIPT
'use server'
import { aura } from '@/lib/aurabase'
export async function signUp(email: string, password: string) {
const { data, error } = await aura.auth.signUp({
email,
password,
options: { emailRedirectTo: '/auth/callback' },
})
if (error) return { error }
return { user: data.user }
}
Session côté serveur
En Next.js App Router, utilisez toujours le helper createServerClient depuis @aurabase/next dans les server actions et route handlers. Le cookie refresh token est httpOnly et ne doit jamais être lu par du JS client.
#
Endpoints REST

Si vous n’utilisez pas le SDK

§ 05

Tous les flux sont également exposés en REST brut, avec les mêmes validations côté serveur. Voir /docs/api-rest pour la liste complète.

MéthodeEndpointDescription
POST/auth/v1/signupCréer un compte email + mot de passe
POST/auth/v1/signin/passwordAuthentifier avec mot de passe
POST/auth/v1/signin/oauth/:providerDémarrer le flux OAuth PKCE
POST/auth/v1/magic-linkEnvoyer un lien magique
POST/auth/v1/mfa/enrollEnrôler TOTP ou WebAuthn
GET/auth/v1/sessionRetourner la session courante
DELETE/auth/v1/sessionInvalider la session côté serveur
Dernière mise à jour · 15 avr. 2026