ONDEV Logo

Expert en acquisition client digitale. Création de sites web et applications sur-mesure qui convertissent.

Services
  • Création de Sites Web
  • Applications Sur-Mesure
  • Publicité Digitale
  • Référencement SEO
  • Développeur Web Marseille
  • Création de Logo
  • Design UX/UI
  • Refonte d'Application
  • Maintenance Applicative
  • Audit de Code
  • Agence Vibe Coding
  • Logiciel Métier Sur-Mesure
  • Agence No Code
  • Portail Client & Extranet
  • Intranet Sur-Mesure
  • Refonte Site WordPress
  • Migration Angular vers React
Navigation
  • Accueil
  • Réalisations
  • Expertise
  • Qui sommes-nous
  • Blog
  • Contact
Guides
  • Nos guides
  • Comment créer un site internet
  • Pourquoi créer un site internet
  • Coût d'un site internet
  • Choisir son prestataire web
Contact

Mathieu Rabissoni

06 01 37 20 21WhatsAppmathieu@ondev.fr

Marseille, France

Suivez-nous

LinkedInInstagramFacebook
Zones d'intervention
Marseille|Aix-en-Provence|Aubagne|La Ciotat|Cassis|Allauch|Gardanne|Marignane|Vitrolles|Toutes nos zones

© 2026 ONDEV. Tous droits réservés.

Mentions légalesPolitique de confidentialitéPlan du site
ONDEV Logo
Réalisations
Contact
On en discute

Expertise

Création de Sites WebSite Vitrine MarseilleSite E-Commerce MarseilleRéférencement SEOOptimisation GEOApplications Web & MobileAgence CommunicationPublicité en LigneDéveloppeur Web Marseille
Réalisations

Ressources

Qui sommes-nous ?BlogGuides
Contact
AppelerWhatsApp
On en discute
  1. Accueil
  2. Blog
  3. Supabase Auth : guide authentification
Développement
24 juillet 202611 mn

Supabase Auth : guide authentification

Supabase Auth gère l'authentification de votre app : email, magic link, OAuth, OTP et sécurité RLS. Le guide pratique côté Next.js et React.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Sommaire

01.Combien de temps faut-il pour coder une authentification complète ? Avec Supabase Auth, une après-midi suffit.02.Supabase Auth : qu'est-ce que c'est vraiment ?03.Les méthodes d'authentification disponibles04.Email et mot de passe05.Magic link et OTP06.OAuth Google, GitHub, Apple07.Comment Supabase Auth s'articule avec Postgres et la RLS08.Gérer les rôles et les permissions09.Bonnes pratiques de sécurité10.Intégration côté Next.js et React11.FAQ12.Conclusion : une authentification solide sans réinventer la roue

Combien de temps faut-il pour coder une authentification complète ? Avec Supabase Auth, une après-midi suffit.

L'authentification, c'est le mur que 80% des projets rencontrent en premier. Gestion des sessions, hachage des mots de passe, OAuth, réinitialisation, tokens qui expirent : chaque brique mal posée devient une faille de sécurité. Supabase Auth règle ce chantier en quelques lignes, avec une base Postgres et la Row Level Security derrière.

Dans cet article, vous allez découvrir :

  • •Les 4 méthodes d'authentification (email, magic link, OAuth, OTP) et quand choisir chacune
  • •Comment Supabase Auth se connecte à votre base Postgres et sécurise chaque requête via la RLS
  • •La méthode concrète pour gérer les rôles et les permissions sans usine à gaz
  • •L'intégration côté Next.js et React, du client au middleware, telle qu'on la déploie chez ONDEV
Sur Wiloq, notre SaaS de vestiaire numérique en production, toute l'authentification (inscription, connexion, rôles organisateur et agent) tourne sur Supabase Auth avec zéro serveur d'auth à maintenir.

Supabase Auth : qu'est-ce que c'est vraiment ?

Supabase Auth est le service d'identité intégré à Supabase. Il gère l'inscription, la connexion, les sessions et l'émission des tokens JWT, sans que vous ayez à écrire la moindre logique de hachage ou de gestion de session.

Concrètement, chaque utilisateur qui s'inscrit atterrit dans une table auth.users, gérée par Supabase. Vous n'y touchez pas directement : vous discutez avec elle via le SDK ou l'API.

La force du système, c'est qu'il ne vit pas à côté de votre base. Il vit dedans. L'identifiant de l'utilisateur connecté est disponible dans chaque requête SQL, ce qui ouvre la porte à une sécurité native que peu de solutions offrent aussi simplement.

Pour comprendre l'écosystème complet dans lequel s'inscrit ce service, consultez notre guide complet sur Supabase : il pose les bases (base de données, API, stockage, edge functions) avant de plonger dans l'authentification.

Les méthodes d'authentification disponibles

Supabase Auth propose plusieurs stratégies. Le bon choix dépend de votre audience et du niveau de friction acceptable à l'inscription.

MéthodeFonctionnementIdéale pour
Email et mot de passeInscription classique avec vérification par emailApplications B2B, comptes durables
Magic linkUn lien de connexion unique envoyé par email, sans mot de passeProduits grand public, réduction de friction
OAuth (Google, GitHub, Apple)Connexion via un fournisseur tiers en un clicSaaS, onboarding rapide, confiance
OTP (code par SMS ou email)Code à usage unique à saisirVérification de numéro, 2FA, mobile

Email et mot de passe

La méthode de référence. Supabase gère le hachage (bcrypt), la vérification d'email et la réinitialisation. Vous appelez signUp puis signInWithPassword, le reste est automatique.

Magic link et OTP

Le magic link supprime totalement le mot de passe : l'utilisateur clique sur le lien reçu et il est connecté. L'OTP suit la même logique avec un code court, parfait pour le mobile ou la double authentification.

OAuth Google, GitHub, Apple

Un clic, une redirection vers le fournisseur, un retour authentifié. C'est le meilleur ratio conversion / sécurité pour un SaaS. Il suffit d'activer le provider dans le dashboard et de renseigner les clés OAuth.

Comment Supabase Auth s'articule avec Postgres et la RLS

C'est ici que Supabase se distingue. L'utilisateur authentifié n'est pas juste une session côté application : son identifiant est injecté dans chaque requête SQL via la fonction auth.uid().

Couplée à la Row Level Security de Postgres, cette mécanique garantit qu'un utilisateur ne peut lire ou modifier que ses propres données, directement au niveau de la base. Même si votre code côté client contient un bug, la base refuse la requête.

Exemple de politique RLS classique :

sql
create policy "Un utilisateur lit ses propres commandes"
on commandes for select
using ( auth.uid() = user_id );

Cette ligne suffit à verrouiller toute une table. Sans elle, une clé API exposée côté navigateur donnerait accès à tout. Avec elle, la sécurité est portée par la base, pas par la confiance dans le frontend.

A lire aussi : Supabase RLS : sécuriser vos données avec la Row Level Security - le guide détaillé pour écrire des politiques robustes sans vous piquer avec le SQL.

Gérer les rôles et les permissions

Toutes les applications ne se contentent pas d'un seul type d'utilisateur. Un SaaS distingue souvent admin, membre et invité. Supabase offre deux approches complémentaires.

Les custom claims dans le JWT. Vous ajoutez un rôle dans les métadonnées du token via une edge function ou un trigger. Ce rôle devient lisible dans vos politiques RLS avec une condition du type auth.jwt() ->> 'role' = 'admin'.

Une table de profils dédiée. Vous créez une table profiles liée à auth.users par l'identifiant, qui stocke le rôle et les préférences. C'est la méthode la plus lisible et la plus évolutive.

  • •Créez la table profiles avec une colonne role
  • •Ajoutez un trigger qui crée le profil à chaque inscription
  • •Référencez ce rôle dans vos politiques RLS pour filtrer les accès
  • •Ne stockez jamais un rôle sensible côté client : la vérité reste en base

Sur Wiloq, cette séparation organisateur / agent repose exactement sur ce schéma. Chaque interface n'affiche que ce que le rôle autorise, et la RLS bloque tout accès non prévu côté serveur.

Bonnes pratiques de sécurité

Supabase fait le gros du travail, mais quelques règles restent à votre charge.

  • •Activez la RLS sur toutes vos tables. Une table sans politique est soit ouverte, soit fermée : ne laissez jamais ce choix au hasard.
  • •Ne confondez jamais la clé anon et la clé service_role. La première est publique et respecte la RLS ; la seconde ignore toutes les règles et ne doit vivre que côté serveur.
  • •Exigez la vérification d'email avant d'accorder le moindre accès sensible.
  • •Activez la double authentification (OTP) pour les comptes à privilèges.
  • •Limitez la durée de vie des tokens et gérez le refresh proprement pour éviter les sessions éternelles.
  • •Surveillez les tentatives de connexion via les logs Supabase pour détecter les attaques par force brute.
La faille la plus fréquente n'est pas dans Supabase : c'est une clé service_role exposée dans un bundle frontend. Gardez-la côté serveur, toujours.

Intégration côté Next.js et React

C'est le terrain de jeu favori d'ONDEV. La combinaison Supabase et Next.js permet une authentification propre, du composant client au rendu serveur.

Côté client, le SDK gère la session et l'écoute des changements d'état :

javascript
import { createBrowserClient } from '@supabase/ssr'

const supabase = createBrowserClient(url, anonKey)

// Connexion OAuth Google
await supabase.auth.signInWithOAuth({ provider: 'google' })

Côté serveur, un middleware Next.js rafraîchit la session et protège les routes avant même le rendu de la page. L'utilisateur non connecté est redirigé sans jamais voir le contenu protégé.

Le point clé : avec la librairie @supabase/ssr, la session est partagée entre le serveur et le client via des cookies sécurisés. Vos Server Components lisent l'utilisateur directement, sans appel supplémentaire.

Pour l'architecture complète de ce duo, ne manquez pas notre article dédié.

A lire aussi : Supabase et Next.js : le combo parfait pour votre app - pourquoi cette stack accélère le développement sans sacrifier la performance.

Vous voulez voir le résultat en production ? Notre réalisation Wiloq, application SaaS de vestiaire numérique illustre une authentification multi-rôles complète construite sur Next.js et Supabase, avec 12+ fonctionnalités déployées.

Si votre projet demande un accompagnement sur-mesure, notre agence spécialisée Supabase prend en charge l'architecture, l'authentification et la sécurité de bout en bout.

FAQ

Supabase Auth est-il gratuit ?
Oui, l'authentification est incluse dans l'offre gratuite de Supabase, avec un plafond généreux d'utilisateurs actifs mensuels. Les fournisseurs OAuth comme Google ou GitHub sont eux aussi gratuits à activer. Vous ne payez que si votre volume dépasse les seuils du plan gratuit.
Quelle différence entre Supabase Auth et la RLS ?
Supabase Auth vérifie qui est l'utilisateur (identité et session). La Row Level Security décide ce qu'il a le droit de voir ou modifier au niveau de la base. Les deux travaillent ensemble : l'auth fournit l'identifiant, la RLS applique les règles. Notre guide sur la Row Level Security détaille ce fonctionnement.
Peut-on migrer une authentification existante vers Supabase Auth ?
Oui. Supabase permet d'importer des utilisateurs existants, y compris avec leurs mots de passe hachés si l'algorithme est compatible. Pour une migration propre, mieux vaut planifier une stratégie de bascule progressive, ce que notre agence Supabase gère régulièrement.
Faut-il un serveur backend en plus de Supabase Auth ?
Non, dans la majorité des cas. Supabase Auth, la base Postgres et les edge functions couvrent l'essentiel. Un backend dédié n'est utile que pour une logique métier lourde ou des intégrations tierces complexes.
Comment gérer les rôles admin et utilisateur avec Supabase ?
Le plus simple est une table de profils liée à auth.users avec une colonne rôle, référencée dans vos politiques RLS. Vous pouvez aussi injecter le rôle dans le JWT via un trigger. Ne fiez jamais le contrôle des rôles au seul frontend.

Conclusion : une authentification solide sans réinventer la roue

Supabase Auth vous offre une authentification de niveau production en quelques heures : méthodes multiples, intégration native avec Postgres, sécurité portée par la RLS et compatibilité parfaite avec Next.js et React. C'est exactement la stack qui fait tourner nos SaaS comme Wiloq ou Swap&Share, sans serveur d'auth à maintenir.

Reste à l'implémenter proprement : politiques RLS bien pensées, gestion des rôles solide, clés bien cloisonnées. Une erreur ici coûte cher.

Vous lancez une application et vous voulez une authentification sécurisée dès le premier jour ? Parlons de votre projet : on construit l'architecture Supabase qui protège vos données et vos utilisateurs.

Auteur

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

Infos

24 juillet 2026
11 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

  • Sans dépendance technique
  • Sans frais de maintenance inutiles
On en discute ?

Avec nous c'est simple, rien n'est compliqué !

Nos réalisations

Refonte & SEO - Amadeus Centre d’Affaires
Refonte & Stratégie SEO

Refonte & SEO - Amadeus Centre d’Affaires

Wiloq - Application SaaS Vestiaire Numérique
Application SaaS

Wiloq - Application SaaS Vestiaire Numérique

Voir toutes les réalisations

Combien de temps faut-il pour coder une authentification complète ? Avec Supabase Auth, une après-midi suffit.

L'authentification, c'est le mur que 80% des projets rencontrent en premier. Gestion des sessions, hachage des mots de passe, OAuth, réinitialisation, tokens qui expirent : chaque brique mal posée devient une faille de sécurité. Supabase Auth règle ce chantier en quelques lignes, avec une base Postgres et la Row Level Security derrière.

Dans cet article, vous allez découvrir :

  • •Les 4 méthodes d'authentification (email, magic link, OAuth, OTP) et quand choisir chacune
  • •Comment Supabase Auth se connecte à votre base Postgres et sécurise chaque requête via la RLS
  • •La méthode concrète pour gérer les rôles et les permissions sans usine à gaz
  • •L'intégration côté Next.js et React, du client au middleware, telle qu'on la déploie chez ONDEV
Sur Wiloq, notre SaaS de vestiaire numérique en production, toute l'authentification (inscription, connexion, rôles organisateur et agent) tourne sur Supabase Auth avec zéro serveur d'auth à maintenir.

Supabase Auth : qu'est-ce que c'est vraiment ?

Supabase Auth est le service d'identité intégré à Supabase. Il gère l'inscription, la connexion, les sessions et l'émission des tokens JWT, sans que vous ayez à écrire la moindre logique de hachage ou de gestion de session.

Concrètement, chaque utilisateur qui s'inscrit atterrit dans une table auth.users, gérée par Supabase. Vous n'y touchez pas directement : vous discutez avec elle via le SDK ou l'API.

La force du système, c'est qu'il ne vit pas à côté de votre base. Il vit dedans. L'identifiant de l'utilisateur connecté est disponible dans chaque requête SQL, ce qui ouvre la porte à une sécurité native que peu de solutions offrent aussi simplement.

Pour comprendre l'écosystème complet dans lequel s'inscrit ce service, consultez notre guide complet sur Supabase : il pose les bases (base de données, API, stockage, edge functions) avant de plonger dans l'authentification.

Les méthodes d'authentification disponibles

Supabase Auth propose plusieurs stratégies. Le bon choix dépend de votre audience et du niveau de friction acceptable à l'inscription.

MéthodeFonctionnementIdéale pour
Email et mot de passeInscription classique avec vérification par emailApplications B2B, comptes durables
Magic linkUn lien de connexion unique envoyé par email, sans mot de passeProduits grand public, réduction de friction
OAuth (Google, GitHub, Apple)Connexion via un fournisseur tiers en un clicSaaS, onboarding rapide, confiance
OTP (code par SMS ou email)Code à usage unique à saisirVérification de numéro, 2FA, mobile

Email et mot de passe

La méthode de référence. Supabase gère le hachage (bcrypt), la vérification d'email et la réinitialisation. Vous appelez signUp puis signInWithPassword, le reste est automatique.

Magic link et OTP

Le magic link supprime totalement le mot de passe : l'utilisateur clique sur le lien reçu et il est connecté. L'OTP suit la même logique avec un code court, parfait pour le mobile ou la double authentification.

OAuth Google, GitHub, Apple

Un clic, une redirection vers le fournisseur, un retour authentifié. C'est le meilleur ratio conversion / sécurité pour un SaaS. Il suffit d'activer le provider dans le dashboard et de renseigner les clés OAuth.

Comment Supabase Auth s'articule avec Postgres et la RLS

C'est ici que Supabase se distingue. L'utilisateur authentifié n'est pas juste une session côté application : son identifiant est injecté dans chaque requête SQL via la fonction auth.uid().

Couplée à la Row Level Security de Postgres, cette mécanique garantit qu'un utilisateur ne peut lire ou modifier que ses propres données, directement au niveau de la base. Même si votre code côté client contient un bug, la base refuse la requête.

Exemple de politique RLS classique :

sql
create policy "Un utilisateur lit ses propres commandes"
on commandes for select
using ( auth.uid() = user_id );

Cette ligne suffit à verrouiller toute une table. Sans elle, une clé API exposée côté navigateur donnerait accès à tout. Avec elle, la sécurité est portée par la base, pas par la confiance dans le frontend.

A lire aussi : Supabase RLS : sécuriser vos données avec la Row Level Security - le guide détaillé pour écrire des politiques robustes sans vous piquer avec le SQL.

Gérer les rôles et les permissions

Toutes les applications ne se contentent pas d'un seul type d'utilisateur. Un SaaS distingue souvent admin, membre et invité. Supabase offre deux approches complémentaires.

Les custom claims dans le JWT. Vous ajoutez un rôle dans les métadonnées du token via une edge function ou un trigger. Ce rôle devient lisible dans vos politiques RLS avec une condition du type auth.jwt() ->> 'role' = 'admin'.

Une table de profils dédiée. Vous créez une table profiles liée à auth.users par l'identifiant, qui stocke le rôle et les préférences. C'est la méthode la plus lisible et la plus évolutive.

  • •Créez la table profiles avec une colonne role
  • •Ajoutez un trigger qui crée le profil à chaque inscription
  • •Référencez ce rôle dans vos politiques RLS pour filtrer les accès
  • •Ne stockez jamais un rôle sensible côté client : la vérité reste en base

Sur Wiloq, cette séparation organisateur / agent repose exactement sur ce schéma. Chaque interface n'affiche que ce que le rôle autorise, et la RLS bloque tout accès non prévu côté serveur.

Bonnes pratiques de sécurité

Supabase fait le gros du travail, mais quelques règles restent à votre charge.

  • •Activez la RLS sur toutes vos tables. Une table sans politique est soit ouverte, soit fermée : ne laissez jamais ce choix au hasard.
  • •Ne confondez jamais la clé anon et la clé service_role. La première est publique et respecte la RLS ; la seconde ignore toutes les règles et ne doit vivre que côté serveur.
  • •Exigez la vérification d'email avant d'accorder le moindre accès sensible.
  • •Activez la double authentification (OTP) pour les comptes à privilèges.
  • •Limitez la durée de vie des tokens et gérez le refresh proprement pour éviter les sessions éternelles.
  • •Surveillez les tentatives de connexion via les logs Supabase pour détecter les attaques par force brute.
La faille la plus fréquente n'est pas dans Supabase : c'est une clé service_role exposée dans un bundle frontend. Gardez-la côté serveur, toujours.

Intégration côté Next.js et React

C'est le terrain de jeu favori d'ONDEV. La combinaison Supabase et Next.js permet une authentification propre, du composant client au rendu serveur.

Côté client, le SDK gère la session et l'écoute des changements d'état :

javascript
import { createBrowserClient } from '@supabase/ssr'

const supabase = createBrowserClient(url, anonKey)

// Connexion OAuth Google
await supabase.auth.signInWithOAuth({ provider: 'google' })

Côté serveur, un middleware Next.js rafraîchit la session et protège les routes avant même le rendu de la page. L'utilisateur non connecté est redirigé sans jamais voir le contenu protégé.

Le point clé : avec la librairie @supabase/ssr, la session est partagée entre le serveur et le client via des cookies sécurisés. Vos Server Components lisent l'utilisateur directement, sans appel supplémentaire.

Pour l'architecture complète de ce duo, ne manquez pas notre article dédié.

A lire aussi : Supabase et Next.js : le combo parfait pour votre app - pourquoi cette stack accélère le développement sans sacrifier la performance.

Vous voulez voir le résultat en production ? Notre réalisation Wiloq, application SaaS de vestiaire numérique illustre une authentification multi-rôles complète construite sur Next.js et Supabase, avec 12+ fonctionnalités déployées.

Si votre projet demande un accompagnement sur-mesure, notre agence spécialisée Supabase prend en charge l'architecture, l'authentification et la sécurité de bout en bout.

FAQ

Supabase Auth est-il gratuit ?
Oui, l'authentification est incluse dans l'offre gratuite de Supabase, avec un plafond généreux d'utilisateurs actifs mensuels. Les fournisseurs OAuth comme Google ou GitHub sont eux aussi gratuits à activer. Vous ne payez que si votre volume dépasse les seuils du plan gratuit.
Quelle différence entre Supabase Auth et la RLS ?
Supabase Auth vérifie qui est l'utilisateur (identité et session). La Row Level Security décide ce qu'il a le droit de voir ou modifier au niveau de la base. Les deux travaillent ensemble : l'auth fournit l'identifiant, la RLS applique les règles. Notre guide sur la Row Level Security détaille ce fonctionnement.
Peut-on migrer une authentification existante vers Supabase Auth ?
Oui. Supabase permet d'importer des utilisateurs existants, y compris avec leurs mots de passe hachés si l'algorithme est compatible. Pour une migration propre, mieux vaut planifier une stratégie de bascule progressive, ce que notre agence Supabase gère régulièrement.
Faut-il un serveur backend en plus de Supabase Auth ?
Non, dans la majorité des cas. Supabase Auth, la base Postgres et les edge functions couvrent l'essentiel. Un backend dédié n'est utile que pour une logique métier lourde ou des intégrations tierces complexes.
Comment gérer les rôles admin et utilisateur avec Supabase ?
Le plus simple est une table de profils liée à auth.users avec une colonne rôle, référencée dans vos politiques RLS. Vous pouvez aussi injecter le rôle dans le JWT via un trigger. Ne fiez jamais le contrôle des rôles au seul frontend.

Conclusion : une authentification solide sans réinventer la roue

Supabase Auth vous offre une authentification de niveau production en quelques heures : méthodes multiples, intégration native avec Postgres, sécurité portée par la RLS et compatibilité parfaite avec Next.js et React. C'est exactement la stack qui fait tourner nos SaaS comme Wiloq ou Swap&Share, sans serveur d'auth à maintenir.

Reste à l'implémenter proprement : politiques RLS bien pensées, gestion des rôles solide, clés bien cloisonnées. Une erreur ici coûte cher.

Vous lancez une application et vous voulez une authentification sécurisée dès le premier jour ? Parlons de votre projet : on construit l'architecture Supabase qui protège vos données et vos utilisateurs.

Mathieu Rabissoni

Mathieu Rabissoni

Expert Web

24 juillet 2026
11 mn
Développement

Service lié

Création site internet

Site sur-mesure avec SEO intégré, livré en 30 jours.

Découvrir

Travailler avec ONDEV

On construit pour vous un site sur mesure, adapté à vos enjeux business.

On en discute ?
Mathieu Rabissoni

Mathieu Rabissoni

Expert Acquisition Client Digitale

Passionné par le web depuis toujours, j'aide les entreprises à acquérir des clients grâce au digital. Sites web, applications, SEO : je transforme vos idées en solutions performantes.

En savoir plus

Services ONDEV liés à cet article

Création site internet Marseille•Application web sur-mesure•Refonte de site internet•Expert Next.js Marseille•Agence web Marseille•Nos réalisations

Besoin d'aide pour votre projet ?

Discutons de vos objectifs et voyons comment je peux vous aider à les atteindre.

Prendre rendez-vousAppelerWhatsApp