Authentification (auth)
This content is not available in your language yet.
Connexion e-mail, Apple et Google (Supabase Auth), profil, suppression de compte.
Fiche technique
Section intitulée « Fiche technique »| 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) |
Mise en place et usage
Section intitulée « Mise en place et usage »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)/*, migrationprofiles, edge functiondelete-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().
Configuration
Section intitulée « Configuration »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