Ich arbeite gerade an einem Prototyp für einen Kunden. Eine der erforderlichen Funktionen ist die Integration in ein internes Benutzerauthentifizierungs- / Registrierungssystem.
Dieses System fungiert als autorisierende Benutzerdatenbank und bietet eine REST-Schnittstelle zum Erstellen neuer Benutzer und zum Authentifizieren gültiger Benutzer.
Ich muss in der Lage sein, neue Benutzer in WP zu erstellen und als Teil dieses Prozesses die externe Authentifizierungs-API aufzurufen, um diesen Benutzer entweder zu erstellen oder zu validieren.
Eine Person, die ein gültiger Benutzer ist, der WP jedoch nicht bekannt ist, sollte sich zum Kommentieren anmelden können, ohne sich selbst auf der WP-Site registrieren zu müssen.
Eine Person, die auf der gesamten Website angemeldet ist, sollte auch automatisch bei WordPress angemeldet sein.
Ich denke, das Folgende ist der richtige Weg.
Für (1) - gibt es einen Registrierungshaken, den ich verwenden kann?
Für (2) - ich gehe davon aus, dass ich den Authentifizierungsfilter einhänge - dh, wenn jemand versucht, sich anzumelden, fange ich das ein, rufe das externe System an und verarbeite dann entweder die WP-Anmeldung oder leite sie zum Registrierungsprozess weiter, wo ( 1) nimmt oer.
Für (3) - lesen Sie das Login-Cookie auf der Hauptseite und fahren Sie mit (2) fort.
Ich denke, ich muss auch einen Datensatz in die Benutzer- und Usermeta-Tabelle einfügen.
Ist das oben Gesagte sinnvoll? Habe ich nicht über etwas nachgedacht? Jeder hat irgendwelche guten Ressourcen, um dabei zu helfen (@hakre - ich habe gesehen, dass Sie daran gearbeitet haben !!).
Aktualisieren
Ich drücke meinen Kopf immer noch ein bisschen dagegen, im Wesentlichen versuche ich, mich in den Authentifizierungsfilter einzuklinken und dies zu verwenden, um:
- Überprüfen Sie, ob ein Anmeldecookie für die 'Master'-Site festgelegt ist, und überprüfen Sie gegebenenfalls die Authentifizierungs-API, und erzwingen Sie bei Gültigkeit eine WP-Anmeldung mit
wp_signon()
den im Master-Site-Cookie enthaltenen Informationen (E-Mail und Hash-Passwort). als Anmeldeinformationen für WP - Wenn das Cookie nicht gesetzt ist, leiten Sie zur Master-Site-Anmeldeseite um und erhalten Sie entweder eine Anmeldung / Registrierung, dann kehren Sie zu Schritt 1 zurück
- Wenn es keinen WP-Benutzer gibt, wenn ein authentifizierter Master-Site-Benutzer vorhanden ist, erstellen Sie ihn und dann eine "transparente" Anmeldung (dh der Benutzer sieht kein WP-Anmeldeformular).
Grundsätzlich möchte ich das WP-Anmeldeformular vollständig für Benutzer verbergen, die lediglich Kommentare hinzufügen und später eine Möglichkeit finden, Autoren und Administratoren den direkten Zugriff darauf zu ermöglichen.
Es geht ziemlich langsam voran, hier ist, wofür ich etwas Hilfe gebrauchen könnte:
Ist der Authentifizierungsfilter der richtige? Es scheint nicht in allen Situationen aufgerufen zu werden, die ich erwarten würde - z. B. zeigt das Meta-Widget Anmelde- / Abmelde-Links an, ohne dass der authentifizierte Hook ausgelöst wird
Ich kann
wp_signon()
einWP_User
Objekt zurückgeben (zeigt den Erfolg an), aber es hat keinen Einfluss auf den Anmeldestatus - dh das Meta-Widget wird auch nach dem Aktualisieren noch in "Login" angezeigt.
Jede Hilfe dankbar erhalten :)