(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, Organisationen mit Rollen, signierte Webhooks, ein Audit-Protokoll 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_•••" \
  -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.
  • ✕ Organisationen und Rollen nachrüsten: die Tabellen, ein Einladungsablauf und eine Berechtigungsprüfung, die in jeden Dienst kopiert wird.
  • ✕ Ein Aufräumskript für Konten, die niemand mehr öffnet, und die Warn-E-Mail, die vor seinem Lauf rausgehen muss.
  • ✕ 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.
  • ✓ Organisationen mit Rollen; die Rollen des Nutzers stecken in einem signierten Token, das Sie offline prüfen, oder Sie fragen mit einem Aufruf nach.
  • ✓ Regeln, die unbestätigte und ungenutzte Konten nach einer Warn-E-Mail löschen.

(Kernfunktionen)

Alles hinter dem Anmeldebildschirm

(01)

Automatisches Löschen inaktiver Konten

Vier Regeln pro Projekt, jede aus, bis Sie sie einschalten. Unbestätigte Konten werden nach der von Ihnen gesetzten Frist gelöscht. Mit Pro und Advanced gilt das auch für Konten, die sich 1 bis 120 Monate nicht angemeldet haben, dazu kommen eine Erinnerung zum Bestätigen und Fristen für Rollen. Jede Löschung folgt auf eine Warn-E-Mail und kommt nie vor dem darin genannten Datum. Eine Vorschau zeigt, wie viele Personen eine Regel heute betreffen würde. Wer sich nur mit Telegram anmeldet, hat keine E-Mail-Adresse und bleibt unberührt, sofern Sie nichts anderes festlegen.

(02)

Organisationen, Rollen und Berechtigungsprüfungen

Gruppieren Sie Ihre Nutzer in Organisationen, definieren Sie in jeder benannte Rollen mit Berechtigungen und geben Sie einem Nutzer in jeder seiner Organisationen eine andere Rolle. Nautilus hält die Daten und beantwortet eine Frage mit einem Aufruf: Darf dieser Nutzer das hier? Durchgesetzt wird nichts; das übernimmt Ihr Code. Sie verwalten es über die API, das Dashboard hat noch keine Ansicht für Mitglieder. In jedem Tarif enthalten.

(03)

Signierte Tokens mit den Rollen darin

Fragen Sie die signierte Form einer Sitzung ab und erhalten Sie ein Token, 15 Minuten gültig, das jeder offline mit den öffentlichen Schlüsseln Ihres Tenants prüfen kann. Es listet die Organisationen des Nutzers auf, jeweils mit dem Namen der Rolle und ihren Berechtigungen, sodass eine Datenbankrichtlinie oder ein API-Gateway entscheiden kann, ohne Nautilus aufzurufen. Es lässt sich nicht widerrufen: Eine entfernte Rolle kann in einem bereits ausgestellten Token bis zu dessen Ablauf weiterleben, und für alles, was exakt sein muss, lesen authorize und die Introspektion live. Ein Token enthält die ersten 10 Organisationen und markiert, wenn die Liste gekürzt ist.

(04)

Ein Audit-Protokoll, das Sie über die API lesen

Wer einen Key angelegt oder widerrufen, eine Einstellung geändert, eine Rolle vergeben oder entzogen hat und welcher Ihrer Nutzer sich angemeldet oder ein Passwort geändert hat, mit Adresse und User-Agent. Kein Eintrag lässt sich ändern oder vorzeitig löschen. Eine Aktion und ihr Eintrag gelingen oder scheitern gemeinsam; Anmeldungen werden einen Moment später geschrieben, wenn der Identitätsdienst sie meldet. Aufbewahrt 7 Tage bei Free, 30 bei Pro, 90 bei Advanced; Sie können die Frist verkürzen, nicht verlängern. Fehlgeschlagene Anmeldungen und Telegram-Anmeldungen werden nicht erfasst.

(05)

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.

(06)

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.

(07)

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.

(08)

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.

(09)

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.

(10)

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.

The admin UI for Ory Kratos

(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 trägt nur die Scopes, die Sie ankreuzen, 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" }
  ]'

(Der Vergleich)

Sie wählen zwischen Anbietern?

Vier Seiten stellen Nautilus neben Auth0, Clerk, Ory Network und Logto: wer sie wählen sollte, wer uns wählen sollte, deren Preise mit dem Datum unserer Prüfung und wo deren Daten liegen. Die Seiten sind auf Englisch.

(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, Zwei-Faktor und die Rollen innerhalb der Organisationen Ihrer Kunden betreiben, ist das der Teil, den Sie nicht mehr hosten müssen. Organisationen, Rollen und Mitglieder verwalten Sie über die API, und das Dashboard hat noch keine Ansicht für Mitglieder. Die Rollen eines Nutzers kommen im signierten Token, in der Token-Introspektion und in der Sitzungsprüfung zurück.

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?

Kostenlos bis zu 1.000 aktive Nutzer pro Monat, ohne Karte. Ein aktiver Nutzer ist, wer sich in einem Kalendermonat mindestens einmal anmeldet, egal wie oft; Personen, die Sie über die API anlegen und die sich nie anmelden, werden nicht gezählt. Pro kostet 99 € im Monat für 10.000 aktive Nutzer, Advanced 199 € für 50.000. Rollen und Organisationen sind in jedem Tarif enthalten, auch in Free, und das Audit-Protokoll wird je nach Tarif 7, 30 oder 90 Tage aufbewahrt; beides ist kein Zusatz mit eigenem Preis. Über dem Limit wird die Anmeldung nie blockiert: Wir schreiben Ihnen bei 80 % und 100 %, und Sie haben Zeit zum Wechseln, bevor neue Registrierungen abgelehnt werden. 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, Organisationen und Rollen, die signierten Tokens 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. Die Schicht, die wir obendrauf gebaut haben, zieht nicht mit um. Um zu wechseln, bitten Sie den Support um einen Export aller Nutzer samt Passwort-Hashes, verknüpfter Social-Konten, Metadaten, Organisationen und Rollen: Sie erhalten innerhalb von 7 Tagen eine verschlüsselte Datei in einem Format, das unser eigener Import akzeptiert und das sich auf Ory Kratos abbilden lässt.

Wo werden Identitätsdaten gespeichert?

Identitäten, Sessions und Ihre benutzerdefinierten Metadaten liegen in Datenbanken auf unseren eigenen Servern in Frankreich, bei OVHcloud. Ausgehende E-Mails, etwa Anmelde- und Wiederherstellungscodes, werden über Resend zugestellt, einen US-Anbieter, auf Grundlage der Standardvertragsklauseln der Europäischen Kommission.

Wie funktionieren Rollen und Berechtigungsprüfungen?

Sie legen eine Organisation an, definieren darin Rollen (eine Rolle ist ein Name und eine Liste von Berechtigungen wie invoices:write) und fügen der Organisation einen Nutzer mit einer Rolle hinzu. Zum Prüfen rufen Sie authorize mit Nutzer, Berechtigung und Organisation auf: Sie erhalten erlaubt oder nicht, mit Begründung und Rolle. Oder Sie lesen die Rollen aus dem signierten Token und lassen Ihre Datenbankrichtlinie entscheiden. Berechtigungen werden exakt verglichen, ohne Platzhalter. Eine Rolle, die jemand innehat, lässt sich erst löschen, wenn diese Person umgesetzt ist. Eine Mitgliedschaft kann eine Frist tragen und von einer Regel entfernt werden, wenn sie abläuft. Jede Änderung an einer Rolle oder Mitgliedschaft steht im Audit-Protokoll.

Was kann es nicht?

Kein SAML und kein Enterprise-Single-Sign-on, keine gehostete Anmeldeseite, keine fertigen Komponenten, keine Passkeys, keine SMS-Codes und kein Sign in with Apple. Es ist kein OAuth- oder OpenID-Anbieter für Dritte: Das signierte Token ist zum Prüfen da, und Nautilus hat keinen Autorisierungsendpunkt. Die E-Mails, die wir für Sie versenden, kommen von Vernes Adresse und sind in der Sprache des Nutzers verfasst (sechs Sprachen, nach dessen locale). Offizielle SDKs gibt es für Node, Python, PHP und Rust.

Wie schneidet es im Vergleich mit Auth0, Clerk, Ory Network oder Logto ab?

Zu jedem gibt es eine Seite, mit deren Preisen von den eigenen Websites und dem Datum unserer Prüfung. Kurz gesagt: Sie liegen vorn bei fertigen Oberflächen, Enterprise-Single-Sign-on und der Zahl der Anmeldemethoden. Wir liegen vorn bei Regeln, die ungenutzte Konten löschen, bei Rollen und Organisationen ohne Aufpreis und, im Vergleich zu Clerk, dabei, wo die Daten liegen. Lesen Sie die Seiten, dann entscheiden Sie. Die Seiten sind auf Englisch.

(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 Ihre ersten 1.000 aktiven Nutzer jeden Monat sind gratis.

Was Ihnen bleibt

Bei der Authentifizierung beginnt die Abhängigkeit 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.

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. Wir nennen die Engine, statt sie zu verstecken. Um zu wechseln, bitten Sie den Support um einen Export aller Nutzer samt Passwort-Hashes, verknüpfter Social-Konten, Metadaten, Organisationen und Rollen: Sie erhalten innerhalb von 7 Tagen eine verschlüsselte Datei in einem Format, das unser eigener Import akzeptiert und das sich auf Ory Kratos abbilden lässt.

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 deckt 1.000 aktive Nutzer pro Monat ab, ohne Gebühr pro Anfrage, sodass ein Nachmittag genügt, um herauszufinden, ob das zu Ihrem bestehenden Stack passt.