Download the PHP package prozorov/data-locker without Composer
On this page you can find all versions of the php package prozorov/data-locker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package data-locker
Data Locker: библиотека для защиты информации одноразовым паролем
Установка
composer require prozorov/data-locker
Архитектура библиотеки
Библиотека для генерации одноразовых паролей (OTP) состоит из следующих компонентов:
- Локер (Locker) - это основной класс для работы с системой одноразовых паролей (интерфейс библиотеки). Предполагается только работа с этим классом. Все остальные классы в библиотеке являются вспомогательными и прямое взаимодействие приложения с ними не предполагается.
- Репозиторий (Хранилище) - это класс, взаимодействующий с хранилищем (базой данных).
- Конфигурационный класс - это класс, содержащий всю конфигурацию для системы одноразовых паролей.
- Транспортная система - классы, которые будут реализовать доставку сообщений с одноразовым паролем
- Система сообщений - классы сообщений
Использование
Хранилище паролей
Сперва нужно создать адаптер для репозитория одноразовых паролей. Репозиторий - это класс, реализующий интерфейс Prozorov\DataVerification\Contracts\CodeRepositoryInterface
.
Конфигурация пакета
Далее нужно настроить класс, содержащий настройки для работы библиотеки Prozorov\DataVerification\Configuration
. В конструктор этого класса нужно передать контейнер, совместимый с PSR-11 (Psr\Container\ContainerInterface
) и конфигурационный массив.
Пример конфигурационного массива:
Параметры конфигурации
code_repository
Класс-репозиторий для хранения паролей.
Допустимые значения:
- Строка. В случае, если передана строка, библиотека обратится к PSR-11 контейнеру чтобы получить класс. Класс должен реализовывать интерйейс
Prozorov\DataVerification\Contracts\CodeRepositoryInterface
. - Замыкание, возвращающее экземпляр класса, реализующего
Prozorov\DataVerification\Contracts\CodeRepositoryInterface
. Замыкание будет выполнено единоразово, а не каждый раз при запросе репозитория. - Объект, реализующий интерфейс
Prozorov\DataVerification\Contracts\CodeRepositoryInterface
.
Обязательный параметр. Значение по умолчанию: отсутствует.
pass_length
Длина пароля.
Допустимые значения:
- Число больше 0
Необязательный параметр. Значение по умолчанию: 4.
creation_code_threshold
Время (количество секунд), в течение которого нельзя запросить код повторно на один и тот же адрес.
Допустимые значения:
- Число больше 0
Необязательный параметр. Значение по умолчанию: 60.
limit_per_hour
Количество попыток, которые можно сделать за час на один и тот же адрес
Допустимые значения:
- Число больше 0.
Необязательный параметр. Значение по умолчанию: 10.
attempts
Количество попыток ввода пароля.
Допустимые значения:
- Число больше 0
Необязательный параметр. Значение по умолчанию: 3.
password_validation_period
Время (количество секунд) жизни пароля.
Допустимые значения:
- Число больше 0.
Необязательный параметр. Значение по умолчанию: 3600 (1 час).
transport_config
Настройки системы доставки сообщений
Допустимые значения: массив, ключами которого являются символьные коды метода доставки (например, sms
, email
) а значениями - - Объекты, реализующие интерфейс Prozorov\DataVerification\Contracts\TransportInterface
,
- Строковые названия классов, рализующих интерфейс
Prozorov\DataVerification\Contracts\TransportInterface
, - Замыкания, возвращающие объекты, реализующие интерфейс
Prozorov\DataVerification\Contracts\TransportInterface
.
messages
Настройки сообщений
Допустимые значения: массив, ключами которого являются символьные коды метода доставки (например, sms
, email
) а значениями - - Объекты, наследующиеся от Prozorov\DataVerification\Messages\AbstractMessage
,
- Строковые названия классов, наследующиеся от
Prozorov\DataVerification\Messages\AbstractMessage
, - Замыкания, возвращающие объекты, наследующиеся от
Prozorov\DataVerification\Messages\AbstractMessage
.