Skip to content

Authentification (auth)

This content is not available in your language yet.

Connexion e-mail, Apple et Google (Supabase Auth), profil, suppression de compte.

Paquet @daroms/module-auth
Activer bun daroms module add auth
Requiert aucun module
Dépendances natives expo-apple-authentication, expo-crypto
Routes ajoutées app/(auth)/_layout.tsx (AuthLayout), app/(auth)/sign-in.tsx (SignInScreen), app/(auth)/sign-up.tsx (SignUpScreen), app/(auth)/forgot-password.tsx (ForgotPasswordScreen)
Onglets aucun
Migrations migrations/profiles.sql
Edge functions functions/delete-account
Variables d’environnement aucune
Gate de navigation oui (décide de la redirection au démarrage)
Section de réglages oui (ajoutée au module settings)

Connexion Supabase : e-mail + mot de passe, Apple (jeton natif), Google (OAuth PKCE). Gate de connexion, profil, suppression de compte.

  • Activer : bun daroms module add auth (ajoute routes (auth)/*, migration profiles, edge function delete-account).
  • Config (manifest.modules.auth) : providers (email, apple, google), requireAuth.
  • Supabase : activer les fournisseurs Apple et Google dans Auth > Providers ; ajouter <scheme>://** aux URL de redirection.
  • Déployer la fonction : bunx supabase functions deploy delete-account.
  • Profil : useProfile() ; déconnexion : signOut().

Dans app.manifest.ts > modules['auth'], validée par modules/auth/config.ts au démarrage.

Clé Schéma zod Rôle
providers z.array(z.enum(['email', 'apple', 'google'])).min(1).default(['email', 'apple', 'google']) Méthodes proposées. Apple est obligatoire sur iOS dès qu’une connexion sociale existe.
requireAuth z.boolean().default(true) true : toute l’app exige une session ; false : connexion à la demande.

Valeurs écrites par module add :

{
"providers": [
"email",
"apple",
"google"
],
"requireAuth": true
}
import { deleteAccount, signInWithApple, signInWithEmail } from '@daroms/module-auth'
  • Valeurs : deleteAccount, signInWithApple, signInWithEmail, signInWithGoogle, signOut, signUpWithEmail, useProfile, AuthLayout, ForgotPasswordScreen, SignInScreen, SignUpScreen

  • Types : Profile