Самостоятельная регистрация
Форма создаёт PortalRegistrationRequest со статусами pending/verified/expired/blocked; после verify — Contact+User+Portal автоматически.
Самостоятельная регистрация на портале с email-верификацией, CAPTCHA, rate limit и реферальной ссылкой.
Форма создаёт PortalRegistrationRequest со статусами pending/verified/expired/blocked; после verify — Contact+User+Portal автоматически.
public/self-registration/index.html на vanilla JS: 4 шага, маска +7 XXX XXX-XX-XX, resend-таймер, передача urlParams.
honeypot, CAPTCHA, rate limit 3/5 мин, code expiry 10 мин, attempt limit 3, duplicate email check.
CaptchaVerifier: none/recaptcha/hcaptcha; Integration PortalCaptcha; фронт динамически грузит нужный скрипт.
Отдельные шаблоны verification и welcome с плейсхолдерами {verificationCode}, {temporaryPassword}, {portalUrl}; есть встроенные дефолты.
DefaultParamsHandler привязывает Contact к рефереру; другие модули добавляют handler через __APPEND__.
Модуль BPM2B Portal Self-Registration добавляет в платформу BPM2B механизм самостоятельной регистрации пользователей в клиентском портале без участия администратора. Форма регистрации — отдельный HTML-страница, защищённая шестью слоями (honeypot, CAPTCHA, rate limit, expiry, attempt limit, duplicate check). После подтверждения email автоматически создаются Contact, User и привязка к Portal.
PortalRegistrationRequest: firstName, lastName, emailAddress, phoneNumber, verificationCode (6 цифр), verificationToken (UUID, unique, indexed), ipAddress, attempts, статус pending / verified / expired / blocked, expiresAt, refererId, urlParams (jsonObject).public/self-registration/index.html на vanilla JS — стейт-машина из 4 шагов (registration → verification → success / error), маска телефона +7 XXX XXX-XX-XX, resend-таймер 60 сек, передача всех URL-параметров страницы как urlParams.POST /PortalRegistration (action initiate / verify / resendCode) и GET /PortalRegistrationConfig (captchaType + siteKey + portalUrl без секретов) — оба noAuth.CaptchaVerifier поддерживает none / recaptcha / hcaptcha; конфигурация через Integration PortalCaptcha с siteKey и secretKey; фронт динамически грузит нужный скрипт.website (honeypot), CAPTCHA, rate limit 3 запроса с IP за 5 минут, срок действия кода 10 минут, лимит 3 попытки ввода → status=blocked, проверка существующего User по email.{temporaryPassword} и {portalUrl}.ParamsHandlerInterface с методом process(Contact, User, params); DefaultParamsHandler обрабатывает refererId (привязка Contact к реферу); другие модули добавляют свои handler через __APPEND__ в metadata.{verificationCode}, {expirationMinutes}, {temporaryPassword}, {portalUrl}; entity-плейсхолдеры {{Contact.firstName}}; если шаблоны не указаны — встроенные дефолты на русском.Модуль предназначен для проектов с открытыми порталами клиентов: B2C-сервисов, образовательных платформ, ServiceDesk с публичным входом. Никаких внешних зависимостей — работает на чистой инсталляции.
Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.