Laravel Маршрут API требует сеанса - PullRequest
1 голос
/ 26 мая 2020

Я использовал Laravel только для запросов API . Итак, я удалил классы сеанса из Kernel. php.

Мои маршруты в сети. php. Теперь мне нужно создать веб-страницы. Поэтому я переместил текущие маршруты в api. php, и это вызывает ошибку.

Класс session.store не существует

Почему маршруты api пытаются использовать сеанс? Потому что вызовам api не нужен сеанс. Как отключить сеанс для маршрутов API? Поскольку вызовы api принимают более 100 запросов в секунду.

1 Ответ

1 голос
/ 27 мая 2020

Laravel По умолчанию защита установлена ​​на web. Когда вы используете только конечные точки API, вам нужно изменить defaults.guards в config/auth.php на api, например. Вы можете видеть в app/Http/Kernel.php, что $middlewareGroups для api не включает промежуточное программное обеспечение сеанса, поэтому они не используются.

Если вы используете драйвер api по умолчанию token, вам необходимо добавить api_token в таблицу пользователей и включите этот параметр в запрос, например http://localhost/api/user?api_token={token}.

Взгляните на https://laravel.com/docs/6.x/api-authentication#introduction. Кажется, что это изменилось в Laravel 7, но я не знаю, какую версию вы используете.

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