Документация для разработчиков
Темная тема

GeneratePhoneCode

array|false public static
CUser::GeneratePhoneCode(
	int $userId
);

Метод генерирует одноразовый код подтверждения телефона пользователя. Метод статический.

CUser::GeneratePhoneCode работает с записью пользователя в таблице b_user_phone_auth. Для генерации кода у пользователя должна быть запись телефона с непустым секретом OTP_SECRET.

Метод только создает код и обновляет данные попыток. Отправку SMS выполняет отдельная логика, например CUser::SendPhoneCode.

Параметры вызова

Параметр Описание
$userId Идентификатор пользователя.

Возвращаемое значение

Метод возвращает массив с кодом и номером телефона пользователя:

Индекс Описание
0 Одноразовый код подтверждения.
1 Номер телефона из записи пользователя.

Если запись телефона не найдена или в ней нет OTP_SECRET, метод возвращает false.

Особенности работы

При успешной генерации метод сбрасывает счетчик попыток ATTEMPTS в 0 и записывает дату отправки кода в поле DATE_SENT.

Код формируется по алгоритму TOTP с интервалом 30 секунд. Проверяйте код методом CUser::VerifyPhoneCode.

Пример

$userId = 12;

$phoneCode = CUser::GeneratePhoneCode($userId);

if ($phoneCode !== false)
{
	[$code, $phoneNumber] = $phoneCode;

	// Передайте $code в сервис отправки SMS.
}

Смотрите также



Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх