(Nautilus · Anmeldung und Nutzer)

Anmeldung und Nutzer für Ihr SaaS Open-Source-Ory-Kratos, für Sie betrieben. Headless, damit die Oberfläche Ihre bleibt.

Registrierung, Anmeldung, Passwort-Wiederherstellung, E-Mail-Bestätigung und Zwei-Faktor als API-Aufrufe. Sie gestalten die Masken; Nautilus betreibt, was dahintersteckt: Sessions, zehn Anmeldeanbieter, signierte Webhooks und ein Dashboard für Ihre Nutzer. Es ist der Ory Kratos, den Sie auch selbst hosten könnten, ohne Docker-Setup, Datenbank und Upgrades.

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"}'

(Selbst bauen oder hosten)

Eine eigene Anmeldung zu schreiben ist ein Risiko. Keycloak zu hosten ist ein Job.

E-Mail und Passwort wirken wie ein Tag Arbeit. Dann kommen Wiederherstellung per E-Mail, Bestätigung, ein zweiter Faktor, Google- und GitHub-Anmeldung und eine Möglichkeit, eine bereits ausgestellte Session zu beenden. All das zu schreiben ist ein Aufwand. Einen allgemeinen Identity-Server wie Keycloak zu hosten ist ein anderer: der Dienst, seine Datenbank, die Upgrades und jemand in Ihrem Team, der ihn versteht, wenn er ausfällt.

Selbst bauen oder selbst hosten

  • ✕ OAuth-Apps bei zehn Anbietern registrieren und die Claims jedes einzelnen auf einen Nutzerdatensatz abbilden.
  • ✕ Wiederherstellungs-, Bestätigungs- und Backup-Code-Flows bauen und dann korrekt halten.
  • ✕ Nutzer zwischen Identity-Server und eigener Datenbank spiegeln und der Abweichung hinterherlaufen.
  • ✕ Bei jedem Request in der Datenbank prüfen, ob eine Session widerrufen wurde.
  • ✕ Oder es hosten: Keycloak oder Ory Kratos bedeutet einen Dienst, eine Datenbank, Upgrades und, bei Kratos, eine Admin-Oberfläche, die Sie noch selbst schreiben müssen.

Mit Nautilus

  • ✓ Zehn Anmeldeanbieter, im Dashboard oder per API ein- und ausschaltbar.
  • ✓ Wiederherstellungs-, Bestätigungs- und Einstellungs-Flows als API-Aufrufe.
  • ✓ Ein JSON-Feld an jedem Nutzer für Ihre eigenen Daten, mit einem PATCH änderbar.
  • ✓ Signierte Webhooks für Registrierungen, Anmeldungen und Kontoänderungen, mit Wiederholungen und Zustell-Log.
  • ✓ Open-Source-Ory-Kratos, für Sie betrieben, mit Dashboard und API-Keys vom ersten Tag an.

(Kernfunktionen)

Alles hinter dem Anmeldebildschirm

(01)

Anmeldung mit Google, GitHub und acht weiteren

GitHub, Google, GitLab, Microsoft, Discord, Facebook, LinkedIn, Slack, Twitch und Spotify. Jeden pro Konto einschalten; Nautilus hält die OAuth-Apps, Sie registrieren also nichts bei den Anbietern. Claims kommen auf eine einheitliche Nutzerform abgebildet zurück.

(02)

Zwei-Faktor und passwortlose Codes

Codes aus einer Authenticator-App mit Backup-Codes, pro Konto einschaltbar. Wenn Sie sie verlangen, lehnt das Gateway eine Session ab, die den zweiten Schritt übersprungen hat. Oder lassen Sie das Passwort weg: ein Einmalcode per E-Mail, 15 Minuten gültig.

(03)

Sessions, die Sie sehen und beenden können

Listen Sie die aktiven Sessions eines Nutzers mit IP-Adresse und User-Agent jedes Geräts auf, sofern Kratos sie erkennen konnte. Beenden Sie eine Session oder alle Sessions einer Identität mit einem einzigen Aufruf.

(04)

Ein JSON-Feld an jedem Nutzer

Halten Sie einen Tarifnamen, eine Firma oder ein Onboarding-Flag am Nutzer fest. Ein PATCH führt zusammen, was Sie senden, und lässt den Rest unberührt. Der Nutzer kann es lesen, also keine Geheimnisse, und Nautilus erzwingt nichts von dem, was Sie dort ablegen.

(05)

Signierte Webhooks mit Wiederholungen

Registrierungen, Anmeldungen, Passwortänderungen, E-Mail-Bestätigung, Deaktivierung und Löschung gehen an Ihren Endpoint, signiert nach dem Svix-Schema. Fehlgeschlagene Zustellungen bekommen bis zu acht Versuche über etwa 28 Stunden, und jeder Versuch wird protokolliert und lässt sich aus dem Dashboard erneut senden.

(06)

Wiederherstellungs- und Bestätigungs-Flows

Passwort-Wiederherstellung, E-Mail-Bestätigung und Einstellungsänderungen laufen als kurze API-Flows: einen starten, den Code oder den neuen Wert senden. Sie rendern das Formular; Nautilus versendet die E-Mail und prüft die Antwort.

(Ein Produkt)

Die Anmeldung ist ein Teil eines Kontos

Webhooks, Cron-Jobs und Telegram-Anmeldung stehen hinter demselben Konto und demselben Dashboard. In der Praxis heißt das: Anmeldeereignisse erreichen Ihren Server über dieselbe signierte Zustellung wie jeder andere Webhook, und jeder API-Key ist auf eine Aufgabe beschränkt, sodass der Key Ihres Anmeldedienstes weder Jobs planen noch Webhooks senden kann.

Ihre App startet eine RegistrierungNautilus legt den Nutzer anSignierter Webhook an Ihren Server

(Entwicklererfahrung)

Ein HTTP-Aufruf, fünf Schreibweisen

Die Tabs zeigen dieselbe Anfrage in curl und in den SDKs für Node, Python, PHP und Rust. Der Mandant ergibt sich aus dem API-Key, Sie übergeben also nie eine Konto-ID.

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)

Häufig gestellte Fragen

Ist das ein direkter Ersatz für Keycloak?

Nein. Keycloak ist ein allgemeiner Identity-Server mit SAML, LDAP-Föderation, gestaltbaren Anmeldeseiten und Admin-Konsole. Nautilus erledigt eine engere Aufgabe: Anmeldung und Nutzerkonten für die Kunden eines SaaS-Produkts, hinter einer HTTP-API ohne eigene Oberfläche. Wenn Sie SAML oder Single Sign-on für Unternehmenskunden brauchen, behalten Sie Keycloak. Wenn Sie es für Passwort-Anmeldung, Google und GitHub, Wiederherstellung und Zwei-Faktor betreiben, ist das der Teil, den Sie nicht mehr hosten müssen. Organisationen, Rollen und Mitglieder sind über die API verfügbar; das Dashboard hat dafür noch keine Ansicht, und Rollen stecken nicht in Tokens, Ihr Backend liest sie also aus der API.

Muss ich trotzdem Anmeldemasken bauen?

Ja, die Masken. Nautilus liefert jeden Schritt als API-Antwort, und Ihr Code sendet, was der Nutzer eingegeben hat, sodass die Formulare wie der Rest Ihres Produkts aussehen. Was Sie nicht mehr bauen, ist alles dahinter: Passwortspeicherung, Wiederherstellungs- und Bestätigungs-E-Mails, Sessions, Anbieter-Anmeldungen. Wenn Sie eine gehostete, gestaltbare Anmeldeseite wollen, hat Keycloak eine und dies nicht.

Wie prüfe ich einen Webhook?

Jede Zustellung trägt die Header svix-id, svix-timestamp und svix-signature: eine HMAC-SHA256-Signatur über ID, Zeitstempel und den rohen Body. Prüfen Sie sie mit der offiziellen Open-Source-Svix-Bibliothek, die es für Node, Python, Go, Rust, PHP, Java, Ruby, C# und Kotlin gibt, statt die Prüfung selbst zu schreiben. Fehlgeschlagene Zustellungen werden wiederholt und lassen sich aus dem Dashboard erneut senden.

Was kostet es?

3.000 Anfragen pro Monat sind gratis, ohne Karte. Anlegen, Lesen, Ändern und Löschen von Nutzern zählen dazu; Anmelde-, Registrierungs- und Wiederherstellungs-Flows nicht. Starter kostet 19 € für 50.000 Anfragen, Pro 79 € für 300.000, und beide können Pakete mit 10.000 für 3 € dazubuchen. Der kostenlose Tarif hat keine Pakete. Die aktuelle Liste steht auf der Preisseite.

Was läuft darunter?

Ory Kratos, der Open-Source-Identity-Server, als ein gemeinsames Deployment für alle Konten. Das Dashboard, die API-Keys, die Webhooks und die Prüfung, die die Nutzer eines Kontos von denen eines anderen fernhält, sind unsere, obendrauf. Der Preis des Teilens: Das Nutzerschema ist auf E-Mail, Sprache und Ihr JSON-Feld festgelegt, und die eigene Konfiguration von Kratos können Sie nicht ändern. Die Engine ist offen: Wenn Ihnen das nicht mehr reicht, läuft dieselbe Software auf Ihren eigenen Servern.

Wo werden Identitätsdaten gespeichert?

In Datenbanken auf unseren eigenen Servern in Frankreich, bei OVHcloud: Identitäten, Sessions und Ihre benutzerdefinierten Metadaten.

(Jetzt starten)

Behalten Sie Ihre Anmeldemasken. Den Server dahinter übernehmen wir.

Registrierung, Anmeldung, Wiederherstellung und Zwei-Faktor für Ihre Kunden, über eine einzige HTTP-API. Legen Sie ein Konto an, und die ersten 3.000 Anfragen jeden Monat sind gratis.

Was Ihnen bleibt

Bei der Authentifizierung beginnt der Lock-in meist, denn wer den Nutzerdatensatz besitzt, formt am Ende das Datenmodell um ihn herum. Nautilus verlangt das nicht. Wer sich anmelden darf, lebt hier; die Datensätze Ihrer Kunden, Bestellungen und alles andere bleiben in dem Postgres, MySQL oder Mongo, das Sie ohnehin betreiben. Es gibt kein Schema von uns, in das Ihre Tabellen passen müssten, und nichts zu migrieren.

Darunter liegt Ory Kratos, Open Source und unverändert. Wir betreiben den Server und die Upgrades und halten dieses Deployment bewusst langweilig, aber die Engine könnten Sie auch selbst betreiben. Ein Auth-Anbieter, den man verlassen kann, ist etwas anderes als einer, den man nicht verlassen kann, und deshalb nennen wir die Engine, statt sie zu verstecken.

Es läuft auf unseren eigenen Servern in Frankreich, und das ist die erste Frage, die viele europäische Käufer stellen. Der kostenlose Tarif sind 3.000 Anfragen pro Monat, und Anmelde-, Registrierungs- und Wiederherstellungs-Flows zählen nicht dazu, sodass ein Nachmittag genügt, um herauszufinden, ob das zu Ihrem bestehenden Stack passt.