2017-09-27 2 views
1

Also ich möchte single anmelden, in allen Produkten mit einem Auth-Server, aber das ist nicht nur für Mitarbeiter, Keycloak sollte dazu wie auth0 verwendet werden?KeyCloak sollte als Authentifizierungsserver für meine Benutzer verwendet werden?

+0

Entschuldigung, Ihre Frage war unklar. Wenn Sie fragen, ob Auth0 SSO zwischen Anwendungen anbieten kann, und auch SSO-Verhalten sowohl für B2E (föderierte) Unternehmen, als auch B2C (soziale usw.) anbieten, dann kann ja Auth0 dafür verwendet werden. Sie benötigen keinen Schlüsselcloak, um eines der oben genannten zu erreichen - wenn Sie bereits keycloak verwenden, ist auch eine Föderation zwischen auth0 und keycloak möglich, aber ich spekuliere auf Ihr spezielles Szenario hier. – arcseldon

+0

Es tut mir leid @arcseldon, Also der Fall ist, dass wir eine App sind, die jeder im Play Store herunterladen kann, wir möchten wissen, ob keycloak in unserem Fall für die Benutzerauthentifizierung verwendet werden kann, weil wir eine weitere App machen wollen und wir uns Single anmelden wollen. –

+0

Augusto - keine Kommentare zu meiner Antwort? Bitte bestätigen Sie, dass dies geholfen hat. – arcseldon

Antwort

1

Sowohl Auth0 als auch Keycloak sollten in der Lage sein, Ihr Ziel zu erreichen - vorausgesetzt, Sie wollen nur soziale (Facebook, Google usw.) und/oder Benutzername & Passwort-Authentifizierung?

Auth0 ist die weniger riskante Option, keycloak ist gut für nicht-kommerzielle &, wo Sie Produktionsausfälle ohne ein globales 24x7-Support-Team leisten können. Hier ein paar andere Gründe, warum ich Auth0 empfehlen würde - die Dokumentation ist Weltklasse, sie haben Quickstart-Beispiele, so dass Sie in wenigen Minuten einsatzbereit sind und einfachen Zugang zu erweiterten Optionen haben - Passwortlos, Authentifizierung, MFA, Anomalieerkennung, X9's Zuverlässigkeit, Rate-Limiting, eine umfassende Management-API, Erweiterungen für alles, zB Exportieren von Protokollen zum Log-Aggregator, und so weiter. Wie auch immer, viel Glück mit Ihrem Projekt, und offensichtlich, was am besten passt, kann einfach auf Ihre eigenen Projektanforderungen zurückzuführen sein.

Fügen Sie hinzu, wenn Sie Mobile machen, dann Auth0 viel Aufwand hinzufügen die notwendigen spezialisierten Sicherheitsabläufe zu zielen mobile (native/hybride) apps. Zum Beispiel PKCE-Nutzung bei Verwendung von /authorize Endpunkt. Bitte bedenken Sie das, da nicht sicher ist, wie der Schlüsselumschlag implementiert wurde - viele IDMs tun das heute noch falsch.

1

Es gibt auch einige Vorteile Keycloak:

Keycloak ist auch mit Unterstützung zur Verfügung, wenn Sie JBoss kaufen. Dies könnte billiger als die Enterprise-Version von Auth0 sein. Wenn Sie benutzerdefinierte DB verwenden möchten, benötigen Sie die Enterprise-Version von Auth0.

Keycloak verfügt über Funktionen, die in Auth0 nicht verfügbar sind: Fein abgestimmte Berechtigungen und rollenbasierte Zugriffssteuerung (RBAC) und attributbasierte Zugriffssteuerung (ABAC) über die Web Admin-Konsole oder benutzerdefinierten Code konfigurierbar. Dies kann auch in Auth0 über Benutzerregeln (benutzerdefiniertes JavaScript) oder Autorisierungs-Plugin (kein Code) implementiert werden. In Keycloak können Sie es ohne Code und feinkörniger machen. Hier wären einige detailliertere Untersuchungen interessant, um sie zu vergleichen.

Keycloak bietet auch Policy Enforcer - mit dem Sie eine Verbindung zu Ihrem Backend herstellen und überprüfen können, ob das Zugriffstoken ausreicht, um auf eine bestimmte Ressource zuzugreifen. Ich bin mir nicht sicher, ob dies in Auth0 enthalten ist. Darüber hinaus kann Keycloak Ihrer Clientanwendung mitteilen, welche Berechtigungen Sie benötigen, wenn Sie auf eine bestimmte Ressource zugreifen möchten, sodass Sie diese nicht in Ihrem Client codieren müssen. Der Workflow kann sein:

  1. Client-Anwendung will, fragt Keycloak Ressource R.
  2. Client-Anwendung für den Zugriff auf die Erlaubnis, es Ressource R.
  3. Kecloak teilt dem Client-Anwendung, die Erlaubnis P braucht es zugreifen muss.
  4. Die Clientanwendung fordert ein Zugriffstoken mit der Berechtigung P von Keycloak an.
  5. Der Client stellt eine Anforderung an den Ressourcenserver mit dem Zugriffstoken mit der angehängten Berechtigung P.
  6. Der Ressourcenserver kann Keycloak fragen, ob die Berechtigung P für den Zugriff auf die Ressource R ausreicht.
  7. Wenn Keycloak genehmigt ist, kann auf die Ressource zugegriffen werden.

So kann mehr in Keycloak zentralisiert und konfiguriert werden. Mit diesem Workflow kann Ihr Client- und Ressourcenserver mehr Sicherheitslogik und -code an Keycloak auslagern. In Auth0 müssen Sie wahrscheinlich die Schritte 2,3,6 selbst implementieren.

Verwandte Themen