Laravel vue return 401 error в API-маршрутах - PullRequest
0 голосов
/ 13 сентября 2018

, поэтому у меня есть группа маршрутов в моем файле api.php, например:

Route::group(['middleware' => 'auth:api'], function(){
//routes
});

Проблема с этой группой заключается в том, что возвращается ошибка 401.

Почему?

Я предполагаю, что мои файлы cookie / сеанса, что бы это ни было, истекли, и они возвращают ошибку 401 (пока пользователь не знает об этом).

Проблема

Проблема в том, что laravel заставляет моего пользователя войти в систему для SESSION_LIFETIME=120, но мой API настроен на 60 (пока не уверен в этом)

'api' => [
  'throttle:60,1',
  'bindings',
],

Вопрос

  1. Что я должен сделать, чтобы выйти из системы по истечении сеанса, чтобы в следующий раз, когда пользователь посещал мой сайт, не обнаружил ошибку 401 и знал, что он / она уже вышел из системы и ему необходимо снова войти в систему?

Обновление

Я сделал промежуточное ПО для проверки времени жизни сеанса и выхода пользователя из системы, если он истек, но я не могу получить значение lifetime из него.

public function handle($request, Closure $next)
    {
        $bag = Session::all();
        $max = config('session.lifetime') * 60; // min to hours conversion
        if (($bag && $max < (time() - $bag->getLastUsed()))) {
            $request->session()->flush(); // remove all the session data
            Auth::logout(); // logout user
        }
        return $next($request);
    }

1 Ответ

0 голосов
/ 13 сентября 2018

Промежуточное ПО auth:api означает, что Laravel проверит заголовок Authorization: Bearer <access token> с запросом и вернет 401, если он отсутствует или действителен.

https://laravel.com/docs/5.6/passport#protecting-routes

Куки и сеансы здесь не применяются - это совершенно другая форма авторизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...