У меня есть одна система (встроенная в Laravel 4.2), и я хочу интегрировать ее с WordPress.
Только аутентифицированные пользователи могут получить доступ к этому блогу.
Думаю в 2 вариантах:
1 -> В маршрутах .php включить что-то вроде
Route::group(array('before' => 'auth')), function() {
Route::get("wordpress", function() {
require_once public_path() . '/blog/wp-load.php';
exit;
});
});
Только авторизованные пользователи могут видеть блоги маршрутов. Если кто-то попытается получить доступ без входа в систему, он покажет ошибку 404 (этот код не работает, только один пример).
2 -> Интеграция Laravel с WordPress. Когда создаете нового пользователя в Laravel, он также будет создан в WordPress. При доступе к блогу, он автоматически войдет в систему WordPress.
Чтобы создать единую пользовательскую систему, я предлагаю вам использовать WordPress REST API & OAuth (Authentication System)
у него есть плагин WordPress, вы можете использовать данные для обеих сторон, Laravel & WordPress.
Чтобы аутентифицировать пользователей из приложения Laravel и разрешить им просматривать каталог WordPress, вы должны сгенерировать файлы cookie аутентификации WordPress из Laravel, а затем перенаправить.
Я думаю, что эти статьи могут помочь вам начать:
Как использовать WordPress в качестве бэкэнда для приложения Laravel
Махмуд, спасибо.
Я решил эту проблему с помощью функции wp_set_auth_cookie ($ user_id, true);
После входа в систему я вызываю одну функцию, которая использует wp_set_auth_cookie, и регистрирую пользователя в WordPress.