Версия: 6.x
burger close
Класс VerificationEngine
Граф наследования:VerificationEngine:
BaseModel

Подробное описание

Класс предназначен для обеспечение двухфакторного подтверждения данных. Код верификации будет отправлен с помощью провайдера связи (Например, SMS) Далее, введенный код будет верифицирован и вызвано действие (Action).

Данный класс является высокоуровневой упрощенной оберткой для VerificationSession.

Открытые члены

 __construct ()
 
 setVerificationProvider (AbstractProvider $provider)
 
 setSessionId ($session_id)
 
 getSessionId ()
 
 setCreatorUserId ($user_id)
 
 setAction (AbstractVerifyAction $action)
 
 getAction ()
 
 setPhone ($phone)
 
 setEmail ($email)
 
 initializeSession ($skip_if_resolved=true)
 
 initializeByToken ($token)
 
 getSession ()
 
 getVerificationFormView ()
 
 sendCode ()
 
 checkCode ($code)
 
 reset ()
 
 cleanOldSessions ()
 
 probablyCleanOldSessions ($run_percent=40)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Защищенные члены

 generateToken ()
 

Дополнительные унаследованные члены

- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 

Конструктор(ы)

__construct ( )

Методы

checkCode (   $code)

Возвращает true, в случае успешной авторизации, иначе false. Текст ошибки можно получить с помощью метода $this->getErrors()

Аргументы
$code
Возвращает
bool(false) | mixed
cleanOldSessions ( )

Удаляет устаревшие сессии

Возвращает
bool
generateToken ( )
protected

Генерирует уникальный ключ сессии проверки

Возвращает
string
Исключения
VerificationException
getAction ( )

Возвращает действие, которое будет выполнено после успешного подтверждения кода верификации

Возвращает
AbstractVerifyAction
Исключения
VerificationException
getSession ( )

Возвращает объект текущей сессии верификации

Возвращает
VerificationSession
getSessionId ( )

Возвращает либо кастомный идентификатор сессии, либо стандартный системный идентификатор сессии

Возвращает
string
getVerificationFormView ( )

Возвращает HTML формы подтврждения второго фактора

Возвращает
string
Исключения
\SmartyException
VerificationException
initializeByToken (   $token)

Загружает все параметры (action, phone, ...) по токену Возвращает true, в случае успешной зарузки сессии верификации

Аргументы
string$token
Возвращает
bool
Исключения
VerificationException
initializeSession (   $skip_if_resolved = true)

Создает токен со всей информацией о текущей верификации в БД. Создает сессию или загружает существующую

Аргументы
bool$skip_if_resolvedЕсли true, то не будет переинициализировать успешно верифицированные ранее сессии
Возвращает
boolean
Исключения
\RS\Event\Exception
\RS\Exception
probablyCleanOldSessions (   $run_percent = 40)

Запускает очистку старых сессий по вероятности

Аргументы
float$ratioВероятность запуска очистки от 0 до 100
Возвращает
bool
reset ( )

Сбрасывает флаг подтверждения у сессии

Возвращает
bool
sendCode ( )

Отправляет код верификации

Возвращает
bool
Исключения
\RS\Exception
setAction ( AbstractVerifyAction  $action)

Устанавливает действие, которое будет выполнено после успешного подтверждения кода верификации

Аргументы
AbstractVerifyAction$action
Возвращает
VerificationEngine
Исключения
VerificationException
setCreatorUserId (   $user_id)

Устанавливает пользователя, который создал сессию верификации

Аргументы
integer$user_id
Возвращает
VerificationEngine
setEmail (   $email)

Устанавливает Email, на который необходимо отправить код верификации

Аргументы
$email
Возвращает
VerificationEngine
setPhone (   $phone)

Устанавливает телефон, на который необходимо отправить код верификации

Аргументы
string$phone
Возвращает
VerificationEngine
setSessionId (   $session_id)

Устанавливает кастомный идентификатор сессии. Нужен в случае, если у обработчика запроса нет реальной сессии. Пример использования в Телеграм ботах

Аргументы
$session_id
Возвращает
$this
setVerificationProvider ( AbstractProvider  $provider)

Устанавливает провайдера, через которого будет отправлен код верификации

Аргументы
AbstractProvider$provider
Возвращает
$this