Authentification
L’authentification et l’autorisation sont deux processus de sécurité qui gèrent l’accès à votre site web ou à votre application. L’authentification permet de vérifier l’identité d’un visiteur, tandis que l’autorisation permet d’accéder à des zones et des ressources protégées.
L’authentification vous permet de personnaliser les zones de votre site pour les personnes connectées et offre la meilleure protection pour les informations personnelles ou privées. Les bibliothèques d’authentification (par exemple Lucia Auth, Auth.js, Clerk) fournissent des utilitaires pour plusieurs méthodes d’authentification telles que la connexion par e-mail et les fournisseurs OAuth.
Il n’y a pas de solution d’authentification officielle pour Astro, mais vous pouvez trouver dans les intégrations de la communauté en recherchant “auth”.
Lucia est une bibliothèque d’authentification spécialisée sur le framework, une bibliothèque d’authentification basée sur la session avec un excellent support Astro.
Installation
Titre de la section InstallationInstallez Lucia en utilisant le gestionnaire de paquets de votre choix.
Configuration
Titre de la section ConfigurationUtilisez le guide “Démarrer avec Astro” pour initialiser Lucia avec un adaptateur et configurer une base de données pour stocker les utilisateurs et les sessions.
Utilisation
Titre de la section UtilisationSuivez l’un des tutoriels Astro complets de Lucia pour ajouter l’authentification par nom d’utilisateur et mot de passe ou GitHub OAuth à votre projet Astro.
Prochaines étapes
Titre de la section Prochaines étapes- Exemple Astro + Projet OAuth Lucia
- Exemple Astro + Projet de nom d’utilisateur et de mot de passe Lucia
Auth.js
Titre de la section Auth.jsAuth.js est une solution d’authentification indépendante du framework. Un adaptateur de framework communautaire auth-astro
est disponible pour Astro.
Installation
Titre de la section InstallationUtilisez la commande astro add
de votre gestionnaire de paquets préféré pour ajouter l’intégration auth-astro
.
Installation manuelle
Titre de la section Installation manuellePour installer auth-astro
manuellement, installez le paquet requis pour votre gestionnaire de paquets :
Ensuite, appliquez l’intégration à votre fichier astro.config.*
en utilisant la propriété integrations
:
Configuration
Titre de la section ConfigurationCréez un fichier auth.config.mjs
dans le répertoire racine de votre projet. Ajoutez tous les providers ou méthodes d’authentification que vous souhaitez supporter, ainsi que toutes les variables d’environnement qu’ils requièrent.
Créez un fichier .env
à la racine de votre projet s’il n’existe pas déjà. Ajoutez les deux variables d’environnement suivantes. AUTH_SECRET
doit être une chaîne privée avec un minimum de 32 caractères.
Utilisation
Titre de la section UtilisationVous pouvez ajouter des boutons de connexion et de déconnexion en utilisant le module auth-astro/client
dans une balise de script ou un composant de framework côté client.
Vous pouvez récupérer la session de l’utilisateur en utilisant la méthode getSession
.
Prochaines étapes
Titre de la section Prochaines étapesClerk est une suite complète d’interfaces utilisateur intégrables, d’API flexibles et de tableaux de bord d’administration pour authentifier et gérer vos utilisateurs. Clerk propose un kit de développement logiciel (SDK) officiel pour Astro.
Installation
Titre de la section InstallationInstallez @clerk/astro
en utilisant le gestionnaire de paquets de votre choix.
Configuration
Titre de la section ConfigurationSuivez le guide de démarrage rapide Astro de Clerk pour configurer l’intégration et le middleware de Clerk dans votre projet Astro.
Utilisation
Titre de la section UtilisationClerk fournit des composants qui vous permettent de contrôler la visibilité des pages en fonction de l’état d’authentification de votre utilisateur. Affichez aux utilisateurs déconnectés un bouton de connexion au lieu du contenu disponible pour les utilisateurs connectés :
Clerk vous permet également de protéger les routes sur le serveur à l’aide d’un middleware. Spécifiez les routes protégées et invitez les utilisateurs non authentifiés à se connecter :
Prochaines étapes
Titre de la section Prochaines étapes- Lisez la documentation officielle de
@clerk/astro
- Commencez à partir d’un modèle avec le projet de démarrage rapide Clerk + Astro