Aller au contenu principal

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 ConnexionStatutLangage de Script
PostgreSQL✅ DisponibleSQL
MySQL✅ DisponibleSQL
MongoDB✅ DisponibleJSON
REST API✅ DisponibleJSON

Comment ça fonctionne


Configuration de la Base de données personnalisée

Étape 1 : Ajouter une Connexion

  1. Allez dans Bases de données personnalisées dans la barre latérale.
  2. Cliquez sur Ajouter une Connexion.
  3. Sélectionnez votre Type de Base de données.
  4. 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

É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.

ScriptObjectifRequis
LoginValider les identifiants et retourner le profil utilisateur
Get UserRécupérer l'utilisateur par email
Create UserInscrire de nouveaux utilisateurs dans votre BD
Change PasswordMettre à jour les mots de passe utilisateur
Verify EmailMarquer 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 :

  1. Dans la section Paramètres de Connexion du formulaire de connexion, cliquez sur Tester la Connexion.
  2. SyAuth tentera de se connecter et d'effectuer un simple SELECT 1 ou ping.
  3. 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érationRecommandation
SSL/TLSToujours utiliser des chaînes de connexion chiffrées (ex : ?sslmode=require)
Moindre PrivilègeCréer un utilisateur BD spécifique avec accès uniquement aux tables nécessaires
Liste BlancheAjouter 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