Skip to content

fix(web): подтверждение email — ссылка в письме, resend в ЛК, редирект#233

Open
Ibochkarev wants to merge 1 commit intobetafrom
fix/gh-226-email-verification
Open

fix(web): подтверждение email — ссылка в письме, resend в ЛК, редирект#233
Ibochkarev wants to merge 1 commit intobetafrom
fix/gh-226-email-verification

Conversation

@Ibochkarev
Copy link
Copy Markdown
Member

Описание

Устраняет интеграционный разрыв: письмо вело на несуществующий путь verify-email (не вызывался Web API), кнопка повторной отправки в шаблоне ЛК не была привязана к JS.

  • Письмо: по умолчанию ссылка на api.php с route=/api/v1/customer/email/verify, token, html=1 (опция ms3_email_verification_url для кастомного URL). После клика — HTTP-редирект на сайт с ms3_email_verified=1|0, опционально цель успеха ms3_email_verification_success_url. Запрос с format=json по-прежнему возвращает JSON.
  • ЛК: CustomerAPI::resendVerificationEmail, обработка в CustomerUI, селекторы и ms3_customer_profile.tpl.
  • Технически: Response::redirect, ветка в api.php без раннего Content-Type: application/json при редиректе; CustomerEmailController::verify учитывает html=1 / format=json.
  • Документация и тесты: фрагмент в readme.md, лексиконы настроек ru/en, php tests/EmailVerificationUrlTest.php для URL-сборки.

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

Fixes #226

Как это было протестировано?

  • Ручное тестирование
  • Автоматические тесты (PHPStan, ESLint)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: ветка fix/gh-226-email-verification
  • MODX: —
  • PHP: 8.2+ (syntax / phpcs / запуск EmailVerificationUrlTest)

Проверки: php -l по затронутым PHP, phpcs для тест-скрипта, npx eslint для изменённого JS, php core/components/minishop3/tests/EmailVerificationUrlTest.php.

Скриншоты (если применимо)

До После

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en)
  • PHPStan проходит без новых ошибок
  • ESLint проходит без ошибок (для JS/Vue изменений)
  • Обновлён CHANGELOG.md (для значимых изменений)

Дополнительные заметки

Ревью: при открытии verify без html=1 в браузере по-прежнему возможен «сырой» JSON — поведение описано в README.

…verify (#226)

- Default verification URL to api.php + verify route; optional ms3_email_verification_url
- html=1 + Response redirect; api.php sends Location when redirect set
- ms3_email_verification_success_url; CustomerAPI/CustomerUI resend flow
- README, lexicons, EmailVerificationUrlTest, CHANGELOG
@Ibochkarev Ibochkarev changed the title fix(web): подтверждение email — ссылка в письме, resend в ЛК, редирект (#226) fix(web): подтверждение email — ссылка в письме, resend в ЛК, редирект Apr 27, 2026
@Ibochkarev Ibochkarev requested a review from biz87 April 27, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant