Для корректной работы должны быть установлены следующие модули из CPAN
cpanm Convert::Base32 cpanm Digest::HMAC_SHA1
Для возможности авторизации методом OTP (2FA) надо в конфигурационном файле config.pl прописать следующие параметры:
Параметр | Значение |
---|---|
$conf{AUTH_G2FA}='AuthOTP'; | Метод авторизации |
$conf{AUTH_G2FA_MAIL}='test.abills@abills.net.ua'; | Электронный адрес провайдера |
$conf{AUTH_G2FA_TITLE}='ABillS'; | Подпись провайдера |
После того как вы пропишите данные параметры, вам надо добавить дополнительное поле G2FA в этом поле должен сохранятся secret key индивидуальный для пользователя, заполните данное поле ключом с символов A-Z допускается цифра 3, символы должны быть с большой буквы и в суме длина ключа должна выйти в 16 символов, иначе не все Auth клиенты для генерации кода доступа могут работать корректно, после того как в абонента будет данный секретный ключ он сможет войти в кабинет пользователя методом двухфакторной авторизации, то есть сначала он введет логин и пароль, после того как система найдет пользователя в базе она пропустить его к второму шагу подтверждения ввод кода доступа и после верного кода доступа система пропустит абонента в его кабинет.
Названия поля должно быть именно такое G2FA а не _G2FA
1) Добавления дополнительного поля
2) Заполнения дополнительного поля
3) Авторизация
После этого клиенту можно выслать данный ключ вместе с логином и паролем указав в шаблоне сообщения переменную %_G2FA%
Клиент должен скачать генератор ключа на мобильный телефон и ввести свой секретный ключ что бы приложения могло сгенерировать код для входа, так же клиент имеет возможность добавить ключ методом сканирования QR Code через клиент пользователя.
Клиенту в кабинете пользователя нужно нажать кнопку qr code
После чего он получить qr code с секретным ключом для авторизации в приложении для генерации ключей
Для генерации ключей мы рекомендуем такие приложения как:
- Google Authenticator
- Microsoft Authenticator
- Authy
- FreeOTP
Важно отметить что если вы добавляете нового пользователя, система автоматически задаст ему секретный ключ
Важно помнить что алгоритм работает на основе времени
С кастомным шаблонами для авторизации абонентов работать не будет!