organization-best-practices
par better-authConfigurez des organisations multi-locataires, gérez les membres, rôles, permissions, équipes, et implémentez le RBAC avec la compétence organization de Better Auth. Idéal pour les développeurs backend nécessitant des fonctionnalités robustes de gestion d'organisation et d'accès.
Vue d'ensemble
La compétence organization de Better Auth permet aux développeurs backend de gérer efficacement des organisations multi-locataires, les membres, les équipes, ainsi que le contrôle d'accès basé sur les rôles (RBAC) au sein de leurs applications. Cette compétence est conçue pour les projets nécessitant une gestion avancée des utilisateurs, comme les plateformes SaaS, les outils internes, ou tout système où les utilisateurs appartiennent à des organisations avec des rôles et permissions distincts.
Avec la compétence organization, vous pouvez :
- Configurer des organisations avec des limites personnalisées sur la création et l'adhésion
- Gérer les invitations et l'intégration de nouveaux membres
- Définir et attribuer des rôles et permissions personnalisés
- Mettre en place des équipes au sein des organisations
- Implémenter le RBAC pour un contrôle d'accès sécurisé
Cette compétence convient particulièrement aux équipes développant des systèmes backend nécessitant une gestion d'organisation évolutive, sécurisée et flexible. Elle est moins adaptée aux applications simples sans structure organisationnelle ou où un accès mono-utilisateur suffit.
Comment utiliser
Étapes d'installation
-
Ajoutez le plugin organization à la configuration de votre serveur :
import { betterAuth } from "better-auth"; import { organization } from "better-auth/plugins"; export const auth = betterAuth({ plugins: [ organization({ allowUserToCreateOrganization: true, organizationLimit: 5, // Nombre maximum d'organisations par utilisateur membershipLimit: 100, // Nombre maximum de membres par organisation }), ], }); -
Ajoutez le plugin client organization à la configuration de votre client :
import { createAuthClient } from "better-auth/client"; import { organizationClient } from "better-auth/client/plugins"; export const authClient = createAuthClient({ plugins: [organizationClient()], }); -
Exécutez les migrations de base de données :
Lancez la commande suivante pour créer les tables nécessaires aux organisations, membres et invitations :
npx @better-auth/cli migrate -
Vérifiez votre installation :
Contrôlez votre base de données pour vous assurer que les tables organization, member et invitation ont bien été créées.
Création et gestion des organisations
-
Créer une organisation :
L'utilisateur qui crée une organisation se voit automatiquement attribuer le rôle
owner.const createOrg = async () => { const { data, error } = await authClient.organization.create({ name: "My Company", slug: "my-company", logo: "https://example.com/logo.png", metadata: { plan: "pro" }, }); }; -
Contrôler qui peut créer des organisations :
Vous pouvez restreindre la création d'organisations selon les attributs des utilisateurs en personnalisant les options du plugin.
Personnalisation des rôles et permissions
Définissez des rôles et permissions personnalisés adaptés aux besoins de votre application. Utilisez la configuration du plugin pour mettre en place le RBAC et gérer les accès au niveau des organisations ou des équipes.
Bonnes pratiques
- Consultez le fichier
SKILL.mdpour des options de configuration détaillées et une utilisation avancée. - Adaptez les exemples de code fournis à la structure et aux exigences de votre projet.
- Utilisez la compétence organization dans les projets où le regroupement d'utilisateurs, la gestion d'équipes et le contrôle d'accès granulaire sont essentiels.
FAQ
Qui devrait utiliser la compétence organization ?
Les développeurs backend créant des applications multi-locataires, des produits SaaS ou tout système nécessitant une gestion robuste des organisations et du contrôle d'accès tireront le meilleur parti de cette compétence.
Quelles sont les prérequis pour l'installation ?
Vous devez disposer d'un projet utilisant Better Auth et avoir accès à votre backend et base de données pour configurer le plugin et exécuter les migrations.
Puis-je personnaliser les limites d'organisation et les rôles ?
Oui, la compétence organization vous permet de définir des limites sur le nombre d'organisations par utilisateur, de membres par organisation, ainsi que de créer des rôles et permissions personnalisés.
Où puis-je trouver plus de détails ?
Consultez le fichier SKILL.md dans le dépôt pour une configuration avancée, ou explorez l'onglet Fichiers pour les scripts et références associés.
