Я подключаю свое внешнее приложение, чтобы выполнить некоторые действия в Laravel 5, получить ответ и продолжить. Одна из таких действий является Войти usign Laravel код:Использование RedirecResponse за пределами Laravel
Вне Laravel
<?php
use Laravel\Laravel;
# Some code here but not headers or html output
Laravel::login();
# Another some code more and then print login form from laravel blade template
echo Laravel::loginView();
Laravel пользовательский класс соединение (за пределами Laravel)
<?php
namespace Laravel;
use App;
use Illuminate;
class Laravel
{
private static $app;
private static function load()
{
require_once self::getPath('bootstrap/autoload.php');
self::$app = require_once self::getPath('bootstrap/app.php');
self::$app->make('Illuminate\\Contracts\\Http\\Kernel')->handle(Illuminate\Http\Request::capture());
}
public static function login()
{
self::load();
$response = App::make('App\\Http\\Controllers\\User')->login($_POST);
if ($response instanceof RedirectResponse) {
# Here I want to stop my app, save cookies/headers from Laravel Login
# and redirect to $response target url location
# If I do it with a simple Location redirect, I lost cookies and headers
# and User will be not authenticated on next request
die($response);
}
}
public static function loginView()
{
self::load();
return view('pages.users.login');
}
}
Laravel App \ Http \ Контроллеры \ User @ Войти
class User
{
public function login($data)
{
$success = Auth::attempt([
'user' => $data['user'],
'password' => $data['password'],
], $data['remember']);
if ($success) {
return redirect()->to(url('/'));
}
}
}
У меня есть весь код для работы (просмотр шаблонов, проверка пользователей, вход в систему), но мне нужно, чтобы d перенаправить ответ на вход с заголовками и куки-файлами, которые будут доступны при следующем запросе.
Есть простой и чистый способ сделать это? (Есть больше кода, но упрощенный здесь)
спасибо :)