Zastąp użytkownika WordPress za pomocą konta Oauth2


10

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!


Cześć Nick, Witamy w WPSE. Niestety nie mogę ci pomóc w rozwiązaniu problemu, ale czy mógłbyś usunąć wprowadzenie (niezbyt istotne dla problemu) i być może dodać to, co już próbowałeś, może nawet dodać trochę kodu. Ułatwia to wszystkim pomoc. Dzięki!
kraftner

Dzięki @kraftner za szybką odpowiedź. Nie napisałem dużo kodu, ponieważ najpierw staram się przeprowadzić projekt / badanie i chyba szukałem potwierdzenia mojego pomysłu. Wydaje się jednak, że powinienem otrzymać dowód na to, że koncepcja jest gotowa do działania. Przepraszam, jeśli podjąłem złe podejście tutaj. Postaram się popracować i napisać przy mniejszych problemach i przykładach pracy.
Nick

Nie chciałem cię denerwować, tak naprawdę pomyślałem, że gdy jesteś nowy, powiem ci, że otrzymasz więcej lepszych odpowiedzi, jeśli twoje pytanie jest krótkie i skoncentrowane zamiast opowiadania historii z nieistotnymi informacjami.
kraftner

@kraftner wcale się nie denerwuje!
Nick

Odpowiedzi:


1

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.