Intereting Posts
Виджет и сохранение выбора выбора Вытягивать данные и отображать их как строки и столбцы Удалить гиперссылку на короткий код галереи Многоязычные постоянные ссылки для установки вложенных папок Как добавить конечную точку в WP Как получить сообщения, которые должны соответствовать как обычным таксономии? Отключить подтверждение по электронной почте новый регистр bbPress Минимизировать запросы базы данных к пользовательским таблицам? инициировать электронную почту, когда публикация публикуется кем-то, за которым следует пользователь Почтовая разбивка на страницы с одинаковыми сообщениями на каждой странице Вставка и обновление строк с помощью wpdb индексирует целочисленные поля на 1 пункт Разметка страницы для пользовательского запроса не позволит мне вернуться на страницу 1 Покажу только первые 10 сообщений WordPress, а не все мои сообщения Динамически добавляя фильтры Создание предварительного просмотра в пользовательском мета-окне

Настройка аутентификации WP из внешнего API

Существует существующий сайт без WP, и мне нужно, чтобы их пользователи могли войти на мой новый сайт WordPress с теми же учетными данными, которые у них уже есть.

Мне предоставлена ​​конечная точка (www.example-api.com/token) и логины входа (адрес электронной почты и пароль), который выдает токен (и другие данные) в качестве ответа.

Я читал в OAuth, и большая часть того, что я получаю, это ресурсы от проблем, которые являются другими способами (как при входе на сайт, не принадлежащий WP, с использованием их creds на сайте WP). У меня нет доступа к другому сайту, и я вижу, что он нуждается в настройке там, так что, я должен перечеркнуть это?

Я наткнулся на переопределение wp_authenticate через настраиваемый плагин, который я уже настроил, но я в тупике о том, что и КАК это сделать.

Любое руководство или повышение для этого?

Solutions Collecting From Web of "Настройка аутентификации WP из внешнего API"

Я смог сделать это с помощью фильтра authenticate WP внутри нового плагина; большинство из которых руководствуется этим уроком Бена Лобога. Основные моменты в плагине:

  • Сделайте функцию вызова API с помощью cURL (вы можете получить коды руководства от Postman при тестировании, если вы уже не знаете).
  • Добавьте проверку фильтра, если ответ на вызов говорит, что пользователь существует и имеет доступ (в зависимости от роли пользователя в моем случае).
  • Все еще используя фильтр, проверьте, есть ли у пользователя уже учетная запись на сайте WP – если нет, создайте для них wp_insert_user . Для пояснения я использовал адрес электронной почты и пароль, проверенные API, потому что WP требует зарегистрированного пользователя в своей базе данных.
  • Если пользователь уже существует в базе данных WP, убедитесь, что их учетные данные совпадают с использованием wp_update_user . Это касается таких случаев, как, когда они меняли свои данные на основном веб-сайте, не принадлежащем WP.
  • При желании добавьте страницу настроек для плагина. В моем случае я создал поле для URL-адреса запроса, следуя этому руководству Бхаратом Парик.