Ich versuche, WordPress als OAuth2-Client einzurichten. Alle unsere Benutzer werden in unserem proprietären CMS gespeichert, das ein OAuth-Anbieter ist. Wir haben sehr wenig (bis gar keine) Benutzer in unserer WordPress-Datenbank, hauptsächlich nur Administratoren. Im Idealfall möchte ich keine Benutzerdaten in der WordPress-Datenbank speichern, da ich den Status auf einer X-Anzahl von WordPress-Sites irgendwie beibehalten müsste, während ich in unserem proprietären CMS eine Quelle der Wahrheit habe.
Mein ursprüngliches Design bestand bisher darin, ein Plugin zu erstellen, das die vorhandenen WordPress-Benutzerfunktionen überschreibt und ein OAuth-Zugriffstoken und eine Benutzer-UUID in einem Cookie oder einer Sitzung speichert. Dieser Benutzer muss jedoch in anderen Plugins verfügbar sein, sodass die Standard-WordPress-Benutzermethoden idealerweise überschrieben werden.
Ist das ein akzeptabler Ansatz? Oder versuche ich, mit WordPress so zu arbeiten, dass es nicht funktioniert?
Ich kann Tonnen von Plugins finden, um WordPress als OAuth2-Anbieter einzurichten, aber nur sehr wenige als Client. Davon abgesehen habe ich einige gefunden, die WordPress als Client einrichten, aber viele davon sind spezifisch für Google Apps, Facebook, Twitter usw. Darüber hinaus sind diese Apps darauf angewiesen, Benutzerdaten lokal in der WordPress-Benutzertabelle zu speichern. Ich würde es vorziehen, dies nicht zu tun.
Vielen Dank für jede Hilfe!
Antworten:
Wenn Sie sich daran halten können, nur Funktionen zu überschreiben, die sich in wp-includes / pluggable.php befinden, sollten Sie in der Lage sein, jegliche Art von Plugin-Konflikten zu vermeiden ... es sei denn, Sie verwenden Plugins, die dieselben steckbaren Funktionen überschreiben.
Stellen Sie einfach sicher, dass Ihre Funktionen deklariert sind, bevor Pluggables geladen werden. Plugins werden vor der Pluggables-Datei geladen. Wenn Sie also Ihre Funktionsüberschreibungen in einem Plugin definieren, können Sie sicher sein, dass sie geladen werden. Andernfalls stellen Sie einfach sicher, dass Sie eine frühere Aktion verwenden, um dies zu tun.
Es gibt einige Authentifizierungs-, Cookie- und benutzerbezogene Funktionen zur Verwendung.
quelle