Clés d’accès et connexion pour votre SaaS, sans service d’authentification
Dernière mise à jour :
Seed connecte les utilisateurs par clé d’accès, par lien de connexion envoyé par e-mail, avec Google et avec GitHub, et sa propre API vérifie chaque connexion sur votre serveur, sans service d’authentification tiers. Mots de passe, clés d’accès et liens de connexion fonctionnent dès le déploiement, sans frais par utilisateur ; Google et GitHub demandent chacun deux clés dans le fichier env.
- Mots de passe hachés avec PBKDF2-SHA-256 via Web Crypto, 600 000 itérations par défaut
- Cookies de session signés, et une piste d’audit de chaque événement de connexion
- Jetons d’API personnels, stockés uniquement sous forme de hachages à clé
- Clés d’accès : seule la clé publique est stockée, et chaque défi de connexion ne fonctionne qu’une fois
- Liens magiques : un même lien connecte ou crée le compte, ne fonctionne qu’une fois, pendant 15 minutes, et n’est stocké que sous forme de hachage
- Comptes invités (connexion anonyme) : un visiteur démarre en un clic sans méthode de connexion, puis ajoute une adresse e-mail et un mot de passe, Google, GitHub ou une clé d’accès au même compte
- Mots de passe erronés comptés par identifiant, toutes adresses réseau confondues, puis un court verrouillage
L’API vérifie elle-même chaque connexion et répond avec un cookie de session signé. Une clé d’accès utilise le WebAuthn du navigateur : le serveur ne garde que sa clé publique, et chaque défi de connexion ne sert qu’une fois. Un lien de connexion connecte ou crée le compte, ne sert qu’une fois, reste valable 15 minutes et n’est stocké que sous forme de hachage.
Une application d’authentification ajoute la double authentification. Le profil liste chaque méthode de connexion au compte et chaque appareil connecté, et changer une méthode de connexion demande une preuve et envoie un e-mail. Un visiteur peut aussi commencer dans un compte invité et ajouter une méthode de connexion plus tard.

Ai-je besoin d’un service d’authentification ?
Non. La propre API de Seed vérifie les mots de passe, les clés d’accès, les liens de connexion et les réponses de Google et de GitHub, sur votre serveur : rien n’est facturé par utilisateur.
Seed prend-il en charge les clés d’accès (passkeys) ?
Oui. Les utilisateurs ajoutent une clé d’accès dans leur profil et s’en servent pour se connecter ; le serveur ne stocke que sa clé publique, et chaque défi de connexion ne sert qu’une fois.
Seed propose-t-il la double authentification (2FA) ?
Oui. Une application d’authentification ajoute un code à usage unique à la connexion, y compris après une connexion avec Google ou GitHub.
Puis-je me passer de la connexion avec Google ou GitHub ?
Oui. Chacune reste désactivée tant que ses deux variables ne sont pas définies dans le fichier env : il suffit de les omettre pour la désactiver.
Seed tourne-t-il sur Node ou Bun ?
Pas encore. Seed tourne aujourd’hui sur Deno, et le passage à Deno, Node et Bun est en cours (#623). Voir le plan d’exécution sur la page des fonctionnalités.