Описание функции
Пробросить в config/routes/web.php уже существующие процессоры:
POST /api/v1/customer/logout → Processors\Api\Customer\Logout
POST /api/v1/customer/forgot-password → ForgotPassword
POST /api/v1/customer/reset-password → ResetPassword
Проблема, которую решает
REST/headless клиент не может завершить сессию (#409) и восстановить пароль без MODX connector/legacy. Процессоры реализованы, маршрутов нет — мёртвый код с точки зрения публичного API.
Предлагаемое решение
Closures по образцу login/register в web.php, с корректными HTTP-кодами (см. #414) и rate-limit на forgot/reset.
Альтернативные варианты
Вызывать процессоры напрямую через connector — ломает единый Web API entrypoint api.php.
Примеры использования
curl -X POST '.../api.php?route=/api/v1/customer/logout' \
-H 'Content-Type: application/json' -H 'MS3TOKEN: ...'
curl -X POST '.../api.php?route=/api/v1/customer/forgot-password' \
-H 'Content-Type: application/json' \
-d '{"email":"user@example.com"}'
Дополнительный контекст
Блокер для безопасного session lifecycle вместе с #409.
Описание функции
Пробросить в
config/routes/web.phpуже существующие процессоры:POST /api/v1/customer/logout→Processors\Api\Customer\LogoutPOST /api/v1/customer/forgot-password→ForgotPasswordPOST /api/v1/customer/reset-password→ResetPasswordПроблема, которую решает
REST/headless клиент не может завершить сессию (#409) и восстановить пароль без MODX connector/legacy. Процессоры реализованы, маршрутов нет — мёртвый код с точки зрения публичного API.
Предлагаемое решение
Closures по образцу
login/registerвweb.php, с корректными HTTP-кодами (см. #414) и rate-limit на forgot/reset.Альтернативные варианты
Вызывать процессоры напрямую через connector — ломает единый Web API entrypoint
api.php.Примеры использования
Дополнительный контекст
Блокер для безопасного session lifecycle вместе с #409.