Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Логин — логин из доступа к приложению ЛК, телефон — включенный основной телефон для уведомлений, привязанный к БСУ.

Перед поиском из номера телефона удаляются круглые скобки, знак плюса, минусы и пробелы. При нашей конфигурации если абонент ввёл текст "(915) - 777 - 88 - 99", то для поиска используется строка "79157778899". Логин не изменяется.

Если абонент подобрался, то мы переходим к следующему шагу, иначе показывается ошибка: "Абонент с такими данными не существует".

Все коды ошибок заданы в locales/ru.yml, ключ password_recovery.errors.

 

Генерация кода подтверждения

Длина кода подтверждения задаётся в конфиге в recovery_code_length. Код подтверждения генерируется и хранится в виде строки. Это нужно для того, чтобы работали коды вида "0001".

Затем код и другие данные (дата генерации кода, время хранения записи, логин, телефон, счётчик текущего кода подтверждения) сохраняются в кеш. Если необходимо, такие записи можно найти в кеше по ключу с логином. Формат ключа: "recovery_#{login}". В нашем случае сохранится запись с ключом: "recovery_sir_arthur"

Вызов скрипта для отправки сообщения