Chaque produit que je construis finit par avoir besoin de la même chose : un seul compte qui marche partout.
CyberCTF, Cyber Courses, Cyber Bench. Des applis différentes, les mêmes personnes. J'ai donc construit Cyber Auth, une connexion unique pour toutes. Aujourd'hui, je publie le moteur derrière, en open source.
Il s'appelle Ostiary.
Pourquoi pas Auth0 ?
Auth0, Clerk et les autres sont d'excellents produits. Mais ils ont trois coûts :
- La facture grandit avec vos utilisateurs. Le succès coûte plus cher chaque mois.
- Vos utilisateurs vivent dans la base de quelqu'un d'autre. Partir devient un projet de migration.
- C'est une boîte noire. Quand quelque chose cloche, vous ouvrez un ticket.
Pour un side project, ça passe. Pour la couche d'identité de tout ce que je construis, je voulais la maîtriser.
Ce qu'est Ostiary
Une appli Next.js que vous déployez, construite sur Better Auth, la meilleure librairie d'authentification de l'écosystème TypeScript aujourd'hui.
Better Auth fournit les briques. Ostiary les assemble en produit :
| Vous avez | Ce que ça veut dire |
|---|---|
| Fournisseur OAuth 2.1 / OpenID Connect | Toute appli peut proposer « Se connecter avec votre entreprise » |
| Passkeys, connexion sociale, SSO entreprise | Connexion moderne, domaines SSO vérifiés par DNS |
| Organisations et invitations | Les équipes, prêtes à l'emploi |
| Espace compte | Profil, sessions, passkeys, applis connectées |
| Console d'administration | Utilisateurs, clients OAuth, journal d'audit, suivi des connexions |
| 20 langues, thème clair et sombre | Prêt pour de vrais utilisateurs |
Un clic
Le dépôt est un template Vercel. Cliquez sur Deploy, et Vercel :
- crée une base Postgres (Neon),
- vous demande un secret et votre email,
- applique les migrations pendant le build.
Inscrivez-vous avec cet email : vous êtes admin. C'est toute l'installation.
La sécurité, par défaut
Les détails qu'on ajoute d'habitude « plus tard » sont là dès le premier jour :
- Changer d'email exige une validation depuis la boîte actuelle. Un cookie volé ne suffit pas à prendre le compte.
- Ajouter une passkey exige une connexion de moins de 10 minutes.
- Chaque action d'admin est inscrite dans un journal d'audit, sans les secrets.
Le nom
Dans l'Église primitive, l'ostiarius était le portier. Il gardait les clés et décidait qui entrait.
C'est exactement le travail.
Essayez
- Démo : demo.ostiary.dev
- Code : github.com/florianamette/ostiary (MIT)
Il tourne déjà en production pour l'écosystème Cyber. Si vous avez besoin d'une connexion pour plus d'une appli, essayez-le, et dites-moi ce qui casse.
Livrez le correctif. Puis partagez le patch.