Задать вопрос

Laravel: нужна ли защита CSRF в API?

Реализую небольшое API, установлено всё изначально из коробки.
Route::apiResources([
            '/events'    => 'API\EventsController',
            '/schedulers' => 'API\Schedulers Controller',
        ]);

Но по маршруту обрабатываются только GET запросы, все остальные игнорируются (ошибка The page has expired due to inactivity).

Начал разбираться и понял что дело именно в CSRF. Пока закомментировал посредник "\App\Http\Middleware\VerifyCsrfToken::class,". Только он находится в секции для WEB, для API его нету.
Возможно я неправильно подхожу к разработке API ?
  • Вопрос задан
  • 3349 просмотров
Подписаться 4 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Tesla
@Tesla
Для API в laravel уже есть группа посредников api в app\Http\Kernel.php.
CSRF-защита не предназначена для защиты API. API Authentication (Passport)
Ответ написан
Комментировать
chupacabramiamor
@chupacabramiamor
Инженегр-программист
Нужны подробности того как вы авторизируете юзера через API, потому что есть подозрение что вы при это авторизации не отдаете авторизационный токен или не используете его при запросах на защищенные узлы.
И, да. CSRF не работает в API-запросах, так как для хранения проверочного токена используются сессии, которые, в свою очередь, не используются в API.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы