Мне нужно вручную войти в систему в Laravel 5.7 через Auth.Как только я запускаю Auth :: loginUsingId ($ userId, true), я затем перемещаю пользователя на страницу его учетной записи.
Суть в том, что пользователь, проходящий через токен, может войти на веб-сайт безснова добавив его учетные данные.
Я попробовал все, что смог найти в Интернете, включая перемещение сеанса из MiddlewareGroup в Middleware, проверку имени файла cookie и некоторые другие вещи, которые не работали.
Мой контроллер выглядит примерно так:
public function loginExternal(Request $request) {
$userId = $request->uid;
Auth::loginUsingId($userId, true);
redirect()->to('/account')->send();
}
, и маршрут для него довольно прост:
Route::get('/oneclick/{token}', 'Auth\AccountController@loginExternal')->middleware('signed')->name('oneclick');
Я бы ожидал, что пользователь войдет в систему и автоматически попадет в свою учетную запись.Теперь он просто отправляет меня на страницу входа.
Я заметил, что метод loginUsingId () генерирует новый идентификатор сеанса только в этом контроллере, но на других страницах веб-сайта веб-сайт использует другойсеанс, тот же (который должен произойти).
Я должен упомянуть, что пользователь получает вход в метод LoginExternal.Это просто не сохраняется на странице учетной записи.
Есть идеи?