ERR_TOO_MANY_REDIRECTS Laravel - PullRequest
       0

ERR_TOO_MANY_REDIRECTS Laravel

0 голосов
/ 03 марта 2020

Я пытаюсь получить доступ к маршруту при выходе из системы, но получаю ошибку из заголовка.

web. php

Route::get('/logout', function() {

    if( cas()->isAuthenticated() ) {
        session()->flush();
        cas()->logout();
    } else {
        session()->flush(); // dd here works
        return redirect('/');
    }
});

Route::get('/', [
    'as' => 'login',
    'uses' => 'HomeController@index',
]);

HomeController

public function index(Request $request)
{   
    dd(123); // I can't get here
}

1 Ответ

0 голосов
/ 03 марта 2020

Если cas() использует сеансы для аутентификации, не делайте sh сеанс перед вызовом cas()->logout().

В противном случае проблема вероятна в промежуточном программном обеспечении, которое вмешивается. Возможно, вам потребуется удалить стандартное промежуточное ПО Laravel RedirectIfAuthenticated из группы App\Http\Kernel.php @ web.


В качестве sidenote: при выходе из системы я рекомендую не уничтожать весь сеанс, а только ключи, которые связаны с темой, которая выходит из системы с помощью session()->forget('key'). Уничтожение всего сеанса может вызвать неожиданные помехи со стороны других сторон.

Надеюсь, что этот ответ поможет вам.

...