Авторизация по номеру телефона

Ошибки при регистрации

Подключение к смс сервису

Часто при первоначальной настройке, в полях подключения к сервисам указывают не верные данные. В результате на клиентской стороне отображается текст ошибки, полученный от сервиса.

Проверить это можно на странице текущих проверок модуля, там будет выведен ответ сервиса, который может содержать текст выводимой ошибки. В этом случае нужно в настройках подключения к сервису указать верные данные для подключения.

2023-02-15_12-37.png

Сторонние модули

В некоторых случаях при попытке регистрации возвращается ошибка и регистрация не происходит, при этом текст сообщения может быть разный в конкретном случае, например - Неверно. Пожалуйста, повторите попытку .

Это происходит при использовании стороних модулей recaptcha (например модуль b01110011.recaptcha) или модуль проверки пользователе на ботов, который отслеживают событие регистрации пользователя и не дают зарегистрироваться, так как модуль авторизации по номеру телевона не знает о них и никак с ними не взаимодействуте, в результате не передает тех данных которые ждут стороние модули.

Решением проблемы может стать временное отключение или деинсталирование стороних модулей, чаще всего после этого проблема с регистрацией исчезает.

Обработчики событий

В поддержку часто обращаются с проблемой что не работает регистрация - появляется ошибка после подтверждения номера телефона. Ошибки разнообразные и не зависят от модуля. Чаще всего возникает это из за обработчиков событий, которые есть на сайте, которые возвращают ошибку при попытке добавить пользователя, зарегистрировать и так далее.

Поэтому в первую очередь нужно проверить наличие обработчиков и их содержимое. Часто в логике обработчиков вызывается ошибка, выбрасывается исключение содержащее текст ошибки отображаемый на клиентской стороне после подтверждения номера телефона.

Выполнив php код в админке сайта, можно узнать список обработчиков.

echo '<pre>';

$arEvents = [
    'OnBeforeUserRegister',
    'OnAfterUserRegister',
    'OnBeforeUserAdd',
    'OnBeforeUserUpdate',
    'OnAfterUserUpdate',
    'OnAfterUserAdd',
];

foreach($arEvents as $event)
{
    echo $event.'---------------------'.PHP_EOL;
    print_r(GetModuleEvents("main", $event, true));

}
echo '</pre>';