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.