Próbuję skonfigurować WordPress jako klienta OAuth2. Wszyscy nasi użytkownicy są przechowywani w naszym zastrzeżonym systemie CMS, który jest dostawcą OAuth. W naszej bazie danych WordPress mamy bardzo mało (lub nie ma) użytkowników, głównie tylko administratorów. Idealnie, nie chcę przechowywać danych użytkownika w bazie danych WordPress, ponieważ musiałbym w jakiś sposób utrzymywać stan na X stronach WordPress, podczas gdy mam jedno źródło prawdy w naszym zastrzeżonym CMS.
Mój początkowy projekt tego do tej pory polegał na stworzeniu wtyczki, która zastępuje istniejącą funkcjonalność użytkownika WordPress i przechowuje token dostępu OAuth i identyfikator użytkownika w pliku cookie lub sesji. Ale potrzebuję tego użytkownika, aby był dostępny w innych wtyczkach, więc najlepiej zastąpić domyślne metody użytkownika WordPress.
Czy jest to akceptowalne podejście? A może próbuję współpracować z WordPress w taki sposób, aby nie był przeznaczony do pracy?
Mogę znaleźć mnóstwo wtyczek do ustawiania WordPress jako dostawcy OAuth2, ale bardzo mało jako klienta. Biorąc to pod uwagę, znalazłem kilka, które konfigurują WordPress jako klienta, ale wiele z nich jest specyficznych dla Google Apps, Facebooka, Twittera itp. Ponadto aplikacje te polegają na przechowywaniu danych użytkownika lokalnie w tabeli użytkowników WordPress. Wolałbym tego nie robić.
Dzięki za wszelką pomoc!
Odpowiedzi:
Jeśli możesz trzymać się nadpisywania tylko funkcji znajdujących się w wp-include / pluggable.php, powinieneś być w stanie uniknąć wszelkiego rodzaju konfliktów wtyczek ... chyba że używasz wtyczek, które zastępują te same funkcje wtykowe.
Upewnij się tylko, że funkcje zostały zadeklarowane przed załadowaniem wtyczek. Wtyczki są ładowane przed plikiem wtykowym ... więc jeśli zdefiniujesz, że funkcja zastępuje wtyczkę, możesz być pewien, że zostały załadowane. W przeciwnym razie po prostu pamiętaj o wcześniejszej akcji.
Dostępnych jest wiele funkcji uwierzytelniania, plików cookie i funkcji związanych z użytkownikiem.
źródło