Переопределить пользователя WordPress с помощью учетной записи Oauth2

10

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

Мой первоначальный замысел - создать плагин, который переопределяет существующие пользовательские функции WordPress и сохраняет маркер доступа OAuth и пользовательский uuid в файле cookie или сеансе. Но мне нужно, чтобы этот пользователь был доступен в других плагинах, поэтому в идеале он должен переопределять стандартные методы WordPress.

Это приемлемый подход? Или я пытаюсь работать с WordPress таким образом, чтобы он не должен был работать?

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

Спасибо за любую помощь!

Ник
источник
Привет, Ник, добро пожаловать в WPSE. К сожалению, я не могу помочь вам с актуальной проблемой - но не могли бы вы удалить вступление (не очень актуальное для проблемы) и, возможно, добавить то, что вы уже пробовали, возможно даже добавив немного кода. Это помогает каждому помочь. Спасибо!
kraftner
Спасибо @kraftner за поспешный ответ. Я не написал много кода, потому что я сначала пытаюсь сделать дизайн / исследование, и я думаю, что искал подтверждение моей идеи. Тем не менее, похоже, я должен получить подтверждение концепции и работает. Извините, если я выбрал неправильный подход здесь. Я постараюсь сделать некоторую работу и опубликовать с небольшими проблемами и некоторыми примерами работы.
Ник
Не хотел вас расстраивать, я просто подумал, что, поскольку вы новичок, я скажу вам, что вы получите больше и лучшие ответы, если ваш вопрос будет коротким и целенаправленным, вместо того, чтобы рассказывать историю с не относящейся к делу информацией.
kraftner
@kraftner совсем не расстроен, сэр!
Ник

Ответы:

1

Если вы можете придерживаться переопределения только функций, которые находятся в wp-includes / pluggable.php, тогда вы сможете избежать любых конфликтов плагинов ... если вы не используете плагины, которые переопределяют те же плагины.

Просто убедитесь, что ваши функции объявлены до загрузки подключаемых модулей. Плагины загружаются до файла pluggables ... поэтому, если вы определите переопределения своих функций в плагине, вы можете быть уверены, что они загружены. В противном случае, просто используйте более раннее действие для этого.

Существует довольно много функций аутентификации, файлов cookie и пользовательских функций.

капер
источник