Как синхронизировать пользователей между сайтами на wordpress и laravel?

Добрый день!

Каким образом можно синхронизировать пользователей между сайтами на wordpress и laravel ?
Основной сайт "W" на wordpress (example.com), вспомогательный "L" - на laravel (на поддомене dev.example.com)

Имею установленный и настроенный компонент corcel на laravel: https://github.com/corcel/corcel, т.е. вводя учетные записи сайта W, вхожу на сайт L.  Т.е. аутентификация/авторизация работает. Это ОК.

Задача такая: чтобы при создании (регистрации) нового пользователя на сайте W, его email, имя автоматически импортировались в базу пользователей сайта L. Т.к на сайте L используется ввод данных, одна из граф имеет user_id (используется стандартная модель пользователя laravel).

Пока вижу: 1) создать на сайте W функцию в functions.php, которая срабатывает при создании пользователя и переправляется на url сайта L (dev.example.com/wordpress) и передает учетные данные, и аутентифицирует/авторизовывает пользователя; 2) на сайте L в файле routes/web.php написать функцию контроллера, которая принимает данные и создает запись в таблице пользователей, и авторизует с помощью функции corcel Auth::validate().

В corcel можно получить пользователя и пользователей
// All users
 $users = User::get();
// A specific user
$user = User::find(1);
echo $user->user_login;


Хотелось бы увидеть примеры рабочего кода. И не отправляйте в гугл.

Также, хочется, чтобы сайт L имел как собственную систему регистрации/авторизации, так и сайта W.
В файле auth.php сайта L, пока так:
'providers' => [
/*
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
*/
        'users' => [
            'driver' => 'corcel',
            'model'  => Corcel\Model\User::class,
        ],


Update: Базы данных - разные, сайты располагаются в разных непересекающихся каталогах.

Спасибо.
  • Вопрос задан
  • 443 просмотра
Пригласить эксперта
Ответы на вопрос 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Копайте в сторону Observers.
Достаточно повесить эвент create на модель User, в котором проверяйте не зарегистрирован ли уже юзер в WP, после чего создавайте его.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы