Bases de données personnalisées
Connectez votre propre base de données ou API pour le stockage et l'authentification des utilisateurs.
Qu'est-ce que les Bases de données personnalisées ?
Les connexions de base de données personnalisées vous permettent de :
- Utiliser votre base de données utilisateurs existante (SQL ou NoSQL)
- Authentifier les utilisateurs contre vos propres données via API
- Maintenir un contrôle total sur le stockage des utilisateurs
- Migrer progressivement les utilisateurs vers SyAuth sans changements de schéma
Connexions Supportées
| Type de Connexion | Statut | Langage de Script |
|---|---|---|
| PostgreSQL | ✅ Disponible | SQL |
| MySQL | ✅ Disponible | SQL |
| MongoDB | ✅ Disponible | JSON |
| REST API | ✅ Disponible | JSON |
Comment ça fonctionne
Configuration de la Base de données personnalisée
Étape 1 : Ajouter une Connexion
- Allez dans Bases de données personnalisées dans la barre latérale.
- Cliquez sur Ajouter une Connexion.
- Sélectionnez votre Type de Base de données.
- Entrez votre Chaîne de Connexion :
- PostgreSQL :
postgresql://user:pass@host:port/db - MySQL :
mysql://user:pass@host:port/db - MongoDB :
mongodb://user:pass@host:port/db - REST API :
https://api.votredomaine.com/auth
- PostgreSQL :
Étape 2 : Configurer les Scripts
Les connexions personnalisées nécessitent des scripts d'action pour effectuer les opérations. SyAuth fournit des modèles par défaut pour chaque type de connexion.
| Script | Objectif | Requis |
|---|---|---|
| Login | Valider les identifiants et retourner le profil utilisateur | ✅ |
| Get User | Récupérer l'utilisateur par email | ✅ |
| Create User | Inscrire de nouveaux utilisateurs dans votre BD | ❌ |
| Change Password | Mettre à jour les mots de passe utilisateur | ❌ |
| Verify Email | Marquer l'email utilisateur comme vérifié | ❌ |
Étape 3 : Activer la Connexion
Une fois les scripts enregistrés et testés, cliquez sur Activer. SyAuth routera désormais les requêtes d'authentification pour cet espace de travail vers votre base de données personnalisée.
Scripts d'Action (SQL)
Utilisés pour PostgreSQL et MySQL. Utilisez %(key)s pour la substitution de paramètres.
Script de Login
SELECT id, email, password_hash, first_name, last_name, is_active
FROM users
WHERE email = %(email)s AND is_active = true;
Script de Création d'Utilisateur
INSERT INTO users (id, email, password_hash, first_name, last_name, created_at)
VALUES (%(id)s, %(email)s, %(password_hash)s, %(first_name)s, %(last_name)s, NOW())
RETURNING id, email;
Scripts d'Action (JSON)
Utilisés pour MongoDB et REST API.
Script de Login MongoDB
{
"collection": "users",
"operation": "findOne",
"filter": {"email": "%(email)s", "is_active": true}
}
Script de Login REST API
{
"method": "POST",
"endpoint": "/v1/auth/login",
"body": {
"username": "%(email)s",
"password": "%(password)s"
}
}
Compatibilité des Mots de passe
SyAuth supporte automatiquement les algorithmes de hachage de mot de passe standards stockés dans votre base de données :
- BCrypt
- Argon2
- PBKDF2 (standard Django)
- SHA256
Si vos hashes utilisent ces standards, vos utilisateurs peuvent se connecter immédiatement sans réinitialiser leurs mots de passe.
Tester Votre Connexion
Avant d'activer, vous devriez vérifier que SyAuth peut atteindre votre base de données :
- Dans la section Paramètres de Connexion du formulaire de connexion, cliquez sur Tester la Connexion.
- SyAuth tentera de se connecter et d'effectuer un simple
SELECT 1ouping. - Si réussi, vous verrez une coche verte. Sinon, vérifiez vos paramètres de pare-feu et votre chaîne de connexion.
Considérations de Sécurité
| Considération | Recommandation |
|---|---|
| SSL/TLS | Toujours utiliser des chaînes de connexion chiffrées (ex : ?sslmode=require) |
| Moindre Privilège | Créer un utilisateur BD spécifique avec accès uniquement aux tables nécessaires |
| Liste Blanche | Ajouter les adresses IP sortantes de SyAuth en liste blanche dans votre pare-feu |
Limitations
- Une seule base de données personnalisée peut être active par espace de travail.
- La connexion doit être accessible depuis l'internet public (ou via un tunnel).
- Certaines analyses intégrées de SyAuth peuvent être désactivées lors de l'utilisation d'un stockage personnalisé.
Prochaines étapes
- Gérer les Utilisateurs - Comment les utilisateurs apparaissent dans le tableau de bord