Пишу интеграцию для платёжного сервиса, после успешный оплаты сервис делает редирект с пост методом. Cs-cart это определяет как csrf атаку и разлогиновает пользователя. Как могу отключит csrf защиту для определённого роута?
А вы редиректите на админку или на фронт?
Фронт, на /orders
Напишите в баг трекер. На разлогинивание после оплаты многие жалуются, но что-то разработчики никак не пофиксят
Это как бы не баг, их логику понимаю. Сейчас решил проблему с помощи посредника скрипта на php, который просто принимает пост редирект и сам делает редирект на /orders. Но это костыль, не смог отключит csrf защиту для моего роута с хуком csrf_validate_request_pre
.
Ну это не нормально, что после оплаты пользователю, чтобы детали заказа увидеть, еще раз логиниться надо
Почему на orders? Редирект от платежной системы должен приходить на payment_notification, для него CSRF отключен.
Сама проверка осуществляется функцией fn_csrf_validate_request Та же используется схема app/schema/security/csrf_validation.php Расширив и изменив которую можно изменить правила валидации.
Тоже самое ошибка для payment_notification