(Nautilus · Connexion et utilisateurs)

Connexion et utilisateurs pour votre SaaS Ory Kratos open source, exploité pour vous. Sans interface : les écrans restent les vôtres.

Inscription, connexion, récupération du mot de passe, vérification de l'e-mail et double authentification, sous forme d'appels d'API. Vous dessinez les écrans ; Nautilus fait tourner ce qu'il y a derrière : sessions, dix fournisseurs de connexion, webhooks signés et un tableau de bord pour vos utilisateurs. C'est l'Ory Kratos que vous pourriez héberger vous-même, sans la configuration Docker, la base de données ni les mises à jour.

curl -X PATCH https://api.vernesoft.com/v1/gate/identities/id_12345/metadata \
  -H "Authorization: Bearer vrn_gate_•••" \
  -H "Content-Type: application/json" \
  -d '{"role":"admin","subscription_tier":"pro"}'

(Construire ou héberger)

Écrire sa propre connexion est un risque. Héberger Keycloak est un travail.

E-mail et mot de passe, cela ressemble à une journée de travail. Puis viennent la récupération par e-mail, la vérification, un second facteur, la connexion Google et GitHub, et un moyen de mettre fin à une session déjà émise. Écrire tout cela est un coût. Héberger un serveur d'identité généraliste comme Keycloak en est un autre : le service, sa base de données, les mises à jour, et quelqu'un dans votre équipe qui le comprend quand il tombe en panne.

Construire ou héberger soi-même

  • ✕ Enregistrer des applications OAuth auprès de dix fournisseurs et faire correspondre les claims de chacun à un seul profil utilisateur.
  • ✕ Construire les flux de récupération, de vérification et de codes de secours, puis les maintenir corrects.
  • ✕ Recopier les utilisateurs entre le serveur d'identité et votre propre base, et courir après les écarts.
  • ✕ Interroger la base à chaque requête pour savoir si une session a été révoquée.
  • ✕ Ou l'héberger : Keycloak ou Ory Kratos, c'est un service, une base de données, des mises à jour et, avec Kratos, un écran d'administration qu'il vous reste à écrire.

Avec Nautilus

  • ✓ Dix fournisseurs de connexion, activés ou désactivés depuis le tableau de bord ou l'API.
  • ✓ Flux de récupération, de vérification et de paramètres sous forme d'appels d'API.
  • ✓ Un champ JSON sur chaque utilisateur pour vos propres données, modifié par un seul PATCH.
  • ✓ Webhooks signés pour les inscriptions, les connexions et les changements de compte, avec nouvelles tentatives et journal de livraison.
  • ✓ Ory Kratos open source, exploité pour vous, avec un tableau de bord et des clés d'API dès le premier jour.

(Fonctionnalités principales)

Tout ce qu'il y a derrière l'écran de connexion

(01)

Connexion avec Google, GitHub et huit autres

GitHub, Google, GitLab, Microsoft, Discord, Facebook, LinkedIn, Slack, Twitch et Spotify. Activez chacun par compte ; Nautilus détient les applications OAuth, vous n'enregistrez donc rien auprès des fournisseurs. Les claims reviennent ramenés à une seule forme d'utilisateur.

(02)

Double authentification et codes sans mot de passe

Codes d'application d'authentification avec codes de secours, activés par compte. Quand vous les exigez, la passerelle refuse une session qui a sauté la seconde étape. Ou supprimez le mot de passe : un code à usage unique par e-mail, valable 15 minutes.

(03)

Des sessions que vous voyez et que vous terminez

Listez les sessions actives d'un utilisateur avec l'adresse IP et le user agent de chaque appareil, quand Kratos a pu les détecter. Terminez une session, ou toutes les sessions d'une identité, en un seul appel.

(04)

Un champ JSON sur chaque utilisateur

Gardez sur l'utilisateur le nom de son offre, une société ou un indicateur d'intégration. Un PATCH fusionne ce que vous envoyez et laisse le reste intact. L'utilisateur peut le lire : pas de secrets, donc, et Nautilus n'applique pas ce que vous y mettez.

(05)

Webhooks signés, avec nouvelles tentatives

Inscriptions, connexions, changements de mot de passe, vérification de l'e-mail, désactivation et suppression arrivent sur votre endpoint, signés selon le schéma Svix. Les livraisons échouées reçoivent jusqu'à huit tentatives sur environ 28 heures, et chaque tentative est journalisée et peut être renvoyée depuis le tableau de bord.

(06)

Flux de récupération et de vérification

La récupération du mot de passe, la vérification de l'e-mail et les changements de paramètres passent par de courts flux d'API : on en démarre un, on envoie le code ou la nouvelle valeur. Vous affichez le formulaire ; Nautilus envoie l'e-mail et vérifie la réponse.

(Un seul produit)

La connexion est une partie d'un seul compte

Les webhooks, les tâches cron et la connexion Telegram se trouvent derrière le même compte et le même tableau de bord. Concrètement, les événements de connexion arrivent sur votre serveur par la même livraison signée que n'importe quel autre webhook, et chaque clé d'API est limitée à une seule tâche : la clé que détient votre service de connexion ne peut donc ni planifier de tâches ni envoyer de webhooks.

Votre app lance une inscriptionNautilus crée l'utilisateurWebhook signé vers votre serveur

(Expérience développeur)

Un appel HTTP, cinq façons de l'écrire

Les onglets montrent la même requête en curl et dans les SDK Node, Python, PHP et Rust. Le tenant vient de la clé d'API : vous ne passez jamais d'identifiant de compte.

curl -X PATCH https://api.vernesoft.com/v1/gate/identities/id_12345 \
  -H "Authorization: Bearer $VERNE_GATE_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    { "op": "replace", "path": "/traits/locale", "value": "fr" }
  ]'

(FAQ)

Questions fréquentes

Est-ce un remplaçant direct de Keycloak ?

Non. Keycloak est un serveur d'identité généraliste avec SAML, fédération LDAP, pages de connexion personnalisables et console d'administration. Nautilus fait un travail plus étroit : la connexion et les comptes utilisateurs pour les clients d'un produit SaaS, derrière une API HTTP sans écrans propres. Si vous avez besoin de SAML ou d'authentification unique pour des clients d'entreprise, gardez Keycloak. Si vous l'utilisez pour la connexion par mot de passe, Google et GitHub, la récupération et la double authentification, c'est la partie que vous pouvez cesser d'héberger. Les organisations, les rôles et les membres sont disponibles par l'API ; le tableau de bord n'a pas encore d'écran pour eux, et les rôles ne sont pas portés par les jetons : votre backend les lit donc dans l'API.

Dois-je encore construire des écrans de connexion ?

Oui, les écrans. Nautilus renvoie chaque étape sous forme de réponse d'API et votre code envoie ce que l'utilisateur a saisi : les formulaires ressemblent au reste de votre produit. Ce que vous cessez de construire, c'est tout ce qu'il y a derrière : stockage des mots de passe, e-mails de récupération et de vérification, sessions, connexions par fournisseur. Si vous voulez une page de connexion hébergée et personnalisable, Keycloak en a une et ceci n'en a pas.

Comment vérifier un webhook ?

Chaque livraison porte les en-têtes svix-id, svix-timestamp et svix-signature : une signature HMAC-SHA256 calculée sur l'identifiant, l'horodatage et le corps brut. Vérifiez-la avec la bibliothèque Svix officielle et open source, qui existe pour Node, Python, Go, Rust, PHP, Java, Ruby, C# et Kotlin, plutôt que d'écrire la vérification vous-même. Les livraisons échouées sont retentées et peuvent être renvoyées depuis le tableau de bord.

Combien ça coûte ?

3 000 requêtes par mois sont offertes, sans carte bancaire. La création, la lecture, la modification et la suppression d'utilisateurs comptent dedans ; les flux de connexion, d'inscription et de récupération n'y comptent pas. Starter coûte 19 € pour 50 000 requêtes, Pro 79 € pour 300 000, et tous deux peuvent ajouter des packs de 10 000 pour 3 €. L'offre gratuite n'a pas de packs. La liste à jour est sur la page des tarifs.

Qu'est-ce qui tourne en dessous ?

Ory Kratos, le serveur d'identité open source, en un seul déploiement partagé pour tous les comptes. Le tableau de bord, les clés d'API, les webhooks et le contrôle qui tient les utilisateurs d'un compte à l'écart de ceux d'un autre sont les nôtres, par-dessus. Le prix du partage : le schéma utilisateur est fixé à un e-mail, une langue et votre champ JSON, et vous ne pouvez pas modifier la configuration propre de Kratos. Le moteur est ouvert : si cela ne suffit plus, le même logiciel tourne sur vos propres serveurs.

Où sont stockées les données d'identité ?

Dans des bases de données sur nos propres serveurs en France, chez OVHcloud : identités, sessions et vos métadonnées personnalisées.

(Commencez aujourd'hui)

Gardez vos écrans de connexion. Laissez-nous le serveur derrière.

Inscription, connexion, récupération et double authentification pour vos clients, depuis une seule API HTTP. Créez un compte et les 3 000 premières requêtes de chaque mois sont offertes.

Ce que vous gardez

C'est avec l'authentification que l'enfermement commence d'ordinaire, parce que celui qui détient le dossier utilisateur finit par façonner le modèle de données autour de lui. Nautilus ne vous le demande pas. Qui peut se connecter vit ici ; les dossiers de vos clients, les commandes et tout le reste restent dans le Postgres, MySQL ou Mongo que vous exploitez déjà. Il n'y a pas de schéma à nous auquel vos tables doivent se plier, et rien à migrer.

En dessous, il y a Ory Kratos, open source et non modifié. Nous exploitons le serveur et les mises à jour, et nous gardons ce déploiement volontairement ennuyeux, mais le moteur est un moteur que vous pourriez exploiter vous-même. Un fournisseur d'authentification que l'on peut quitter, c'est une autre proposition que celui que l'on ne peut pas quitter : c'est pourquoi nous nommons le moteur au lieu de le cacher.

Il tourne sur nos propres serveurs en France, ce qui est la première question que posent beaucoup d'acheteurs européens. L'offre gratuite compte 3 000 requêtes par mois, et les flux de connexion, d'inscription et de récupération n'y comptent pas : un après-midi suffit donc pour savoir si cela s'intègre à la pile que vous avez déjà.