2017-12-20 7 views
11

Gegenwärtig laufen 2 Webseiten auf Basis von WordPress, einer benutzerdefinierten Anwendung in JS (Hapi, Angular, Mongo) sowie einem selbst gehosteten GitLab Repository und Hosting auf Basis von ISP-Konfiguration Derzeit muss ein Benutzer, der mehr als einen Dienst verwenden möchte, mehrere Konten erstellen.Die beste Lösung für ein zentralisiertes Benutzerverwaltungssystem für mehrere Systeme

Was wäre der beste Ansatz es unter der Annahme, zu zentralisieren, dass wir wollen:

  • ein Benutzer auf jeder Seite
  • gleiche Anmeldeinformationen zu verwenden, ermöglicht es einem Benutzer bei der Verwendung der soziale Login (Facebook, Google einzuloggen, Twitter) und immer noch halten sein einziges Profil
  • zentralisieren Informationen über Benutzerdienste, Nutzungs- und Abrechnungsdaten (Rechnungen)

Wir wollen nicht die Lösung verkomplizieren, Daher möchten wir die Zugriffsverwaltung nicht zentralisieren und sie nicht von einem zentralen Server beziehen. Jede Seite/jeder Service wird sie selbst verwalten (d. h. Wenn Benutzer einen Kauf in einer der WP-Sites macht (woocommerce) Wordpress selbst wird Bestellung aufrecht erhalten und wir werden benutzerdefinierten Code schreiben, um Verkauf an zentralisiertes System für Billing Zweck melden)

Wir erwägen derzeit mit LDAP oder Kerberos, was würde Anzug besser?

Zweitens - wie Teil in Bezug auf soziale Login abdecken? Ich gehe davon aus, dass wir die Benutzerregistrierung weiterhin mit OAuth2 zulassen und die Daten zwischen den einzelnen Diensten und dem zentralisierten System irgendwie synchronisieren sollten. Gibt es eine andere Art und Weise?

+0

Eine Idee, wie man dies lösen kann, ist die Einrichtung und Api auf beiden Anwendungen. Wenn sich ein Benutzer bei app1 anmeldet, sieht er zuerst nach, ob der Benutzer eine app1-Datenbank existiert. Wenn nicht, prüft es, ob der Benutzer in app2 existiert. Wenn der Benutzer in app2 existiert, sendet er alle Informationen für diesen Benutzer an app1 und erstellt einen "neuen Benutzer" in app1. Weiß nicht, ob das die beste Lösung für Sie sein wird, aber es ist eine Idee. – zarex360

+0

Siehe [this] (https://security.stackexchange.com/a/109574) für den Vergleich zwischen LDAP und Kerberos. –

Antwort

1

Ihre Wünsche [korrigieren Sie mich, wenn ich falsch]:

  • Sie haben zwei Anwendungen, die im Wesentlichen getrennte Dinge sind.
  • Diese Anwendungen können von einer Webseite über HTTP bedient werden, und entweder haben ein Auth-System oder brauchen eine neugestaltete.
  • Sie möchten ein zentrales Anmeldesystem mit sozialer Authentifizierung.
  • Sie haben eine einzelne Geschäftseinheit.
  • Sie möchten eine einzelne, kombinierte Datenquelle für E-Commerce.
  • Sie sind im Wesentlichen auf der WordPress Backend Seite von Grund auf einrichten, gibt es keine aktuelle gemischte Ökosystem von Benutzern.

Meine Gedanken: Sie nicht wollen, LDAP oder Kerberos. Diese Lösungen sind für diese Situation viel zu komplex. Sie möchten eine EINZIGE WordPress-Installation. Sie können das Backend einfach so einrichten, dass es auf mehrere Domains antwortet. Mit anderen Worten, eine einzelne Wordpress-Installation kann Seiten unter "domain1.com" und "domain2.com" verarbeiten und die Seiten mit komplett unterschiedlichen Kopfzeilen und Text rendern, um sie als zwei Seiten erscheinen zu lassen. Es gibt keinen Grund, zwei separate Benutzerlisten zu führen, da Sie sich nur von einem einzigen System anmelden möchten. Unterscheiden Sie die Benutzer anhand ihrer Geschäftsdaten, dh Benutzer1 hat Daten "auf SiteA registriert", Benutzer2 hat Daten "auf SiteB registriert" usw.

Sie können Ihre App auf einer WordPress-Seite platzieren und dann is_user_logged_in() zur Firewall verwenden es hinter WordPress. Dies ist eine Industriestandardmethode der Authentifizierung und extrem sicher, wenn sie richtig eingerichtet wird. Oder wenn es sich um ein Daten-API handelt, können Sie es als Endpunkt platzieren und das exakt gleiche Authentifizierungssystem nutzen.

Alle wichtigen Social-Auth-Plugins, die im kostenlosen .org-Repo beliebt sind, sollten die Box mit dieser Methode ausarbeiten.

Wenn Sie Blogging, das heißt, viele "Beiträge" über die Produkte, und Sie möchten, dass diese Blogs verschiedene Ökosysteme sind, mit verschiedenen Benutzergruppen, Sie suchen nach WordPress Multi-Site. Ich glaube nicht, dass du das willst. Du hörst dich nicht so an, als würdest du "bloggen". Oder zumindest jede Seite wird sorgfältig auf diesen kombinierten Seiten kuratiert. Sie suchen wahrscheinlich nur nach einer einzigen Installation, um Inhalte für zwei Domains bereitzustellen. NICHT MULTISEITE.

Sie sollten WooCommerce verwenden, einfach weil es die am meisten unterstützte Plattform ist. Setup ist 100% kostenlos.

Sie können Seiten, die völlig unterschiedlich gebrandet sind, auch in einer Installation einfach bedienen. Zum Beispiel kann eine WordPress-Website Seiten an zwei Domains liefern und verschiedene Logos und Kopfzeilen oben auf der Seite platzieren, damit sie anders aussehen. Eine physische Maschine kann zwei Domänen bedienen.

Fazit: Sie wollen ein einzelnes WordPress-Setup auf einem einzigen Rechner, der zwei Domains bedient. Der Inhalt und das Aussehen der Domains können beliebig sein. Verwenden Sie alle gängigen Social Auth Plugins im .org Repo, um die Apps zu schützen.

Verwandte Themen