Замініть користувача WordPress за допомогою облікового запису Oauth2


10

Я намагаюся налаштувати WordPress як клієнт OAuth2. Усі наші користувачі зберігаються в нашій фірмовій CMS, що є постачальником OAuth. У нашій базі даних WordPress у нас дуже мало (ні) користувачів, в першу чергу це лише адміністратори. В ідеалі я не хочу зберігати дані користувачів у базі даних WordPress, тому що мені потрібно якось підтримувати стан на X кількості сайтів WordPress, тоді як у мене є одне джерело істини в нашій фірмовій CMS.

Моїм початковим дизайном цього до цього часу було створення плагіна, який переосмислює існуючу функціональність користувачів WordPress та зберігає маркер доступу OAuth та користувача uuid у файлі cookie чи сесії. Але мені потрібно, щоб цей користувач був доступним в інших плагінах, тому в ідеалі переосмислюючи стандартні користувацькі методи WordPress.

Це прийнятний підхід? Або я намагаюся працювати з WordPress таким чином, щоб це не було призначено для роботи?

Я можу знайти багато плагінів для налаштування WordPress як постачальника OAuth2, але дуже мало як клієнта. Попри це, я знайшов деякі з них, які налаштовують WordPress як клієнта, але багато з них є специфічними для Google Apps, Facebook, Twitter тощо. Більше того, ці додатки покладаються на зберігання даних користувачів локально в таблиці користувачів WordPress. Я вважаю за краще не робити цього.

Дякуємо за будь-яку допомогу!


Привіт Нік, Ласкаво просимо до WPSE. На жаль, я не можу допомогти вам у вирішенні фактичної проблеми - але ви можете видалити вступ (не дуже актуальний для проблеми) і, можливо, додати те, що ви вже пробували, можливо, навіть додавши якийсь код. Це полегшує допомогу кожному. Дякую!
kraftner

Дякуємо @kraftner за поспішну відповідь. Я не написав багато коду, тому що намагаюся спершу зробити дизайн / дослідження, і, мабуть, шукав підтвердження своєї ідеї. Однак, схоже, я повинен отримати доказ розробленої концепції. Вибачте, якщо я взяв неправильний підхід тут. Я спробую виконати деяку роботу та опублікувати з меншими питаннями та деякими прикладами роботи.
Нік

Я не хотів вас засмучувати, я дійсно просто думав, що, як ви новак, я скажу вам, що ви отримаєте більше і кращі відповіді, якщо у вас питання коротке і зосереджене, а не розповідати історію з невідповідною інформацією.
kraftner

@kraftner зовсім не засмучений, сер!
Нік

Відповіді:


1

Якщо ви можете дотримуватися переосмислення лише функцій, розташованих у wp-include / pluggable.php, тоді ви повинні мати можливість уникати будь-яких конфліктів плагінів ... якщо ви не використовуєте плагіни, які переосмислюють ті самі функції, що підключаються.

Просто переконайтесь, що ваші функції оголошені перед завантаженням підключень. Плагіни завантажуються перед файлом підключень ... тож якщо ви визначите, що ваша функція перевизначає в плагіні, ви можете бути впевнені, що вони завантажені. В іншому випадку просто переконайтеся, що для цього скористайтеся більш ранньою дією.

Існує досить багато функцій аутентифікації, файлів cookie та користувачів для використання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.