Authentification prête à l'emploi avec Supabase, Vue 3 & Tailwind CSS.
Démo: https://vue3-supabase-starter.netlify.app/
- formulaire de login avec validation (vee-validate)
- formulaire de création de compte
- persistence de l'utilisateur
- formulaire de reset du mot de passe (pré-rempli avec email rentré lors du login)
Vous devez créer un projet sur Supabase avant toute chose.
- Cloner ce repo
- Créer un fichier
.env
et renseigner les variables présentes dans le fichierenv.d.ts
.
Renseigner notamment les variables d'env VITE_SUPABASE_URL
et VITE_SUPABASE_ANON_KEY
, que l'on peut trouver sur la page "settings > API", qui permettent au client supabase de communiquer avec l'API de supabase.
npm install
npm run dev
Tout le code est dans un dossier "src/auth" (composants, composables etc) pour qu'il soit plus facile de déplacer l'authentification supabase sur un projet existant.
Utilisez le composable useAuth
pour tout ce qui est lié à l'authentification.
const { user, login, register, logout } = useAuth();
Ci-dessus, user
est l'utilisateur actuellement connecté, il s'agit d'une variable réactive.
Exemple: afficher un lien dans le menu seulement pour un utilisateur connecté:
<script setup lang="ts">
import useAuth from "@/auth/composables/useAuth";
const { user } = useAuth();
</script>
<template>
<div>
<div v-if="user">Your email is {{ user.email }}<div>
<div v-else>Vous n'êtes pas connecté</div>
</div>
</template>
Le projet utilise le package @supabase/supabase-js
. Pour récupérer l'instance du client supabase.
const supabase = useSupabase();
- forgot password
- email confirmation