Для корректной работы должны быть установлены следующие модули из CPAN
cpanm Authen::OATH
Для возможности авторизации методом OTP (2FA) надо в конфигурационном файле config.pl прописать следующие параметры:
Параметр | Значение |
---|---|
$conf{AUTH_G2FA}=1; | Включить двухфакторную авторизацию для пользователей |
После того как вы пропишите данные параметры, вам надо добавить дополнительное поле G2FA в этом поле должен сохранятся secret key индивидуальный для пользователя, заполните данное поле ключом с символов A-Z допускается цифра 3, символы должны быть с большой буквы и в суме длина ключа должна выйти в 16 символов, иначе не все Auth клиенты для генерации кода доступа могут работать корректно, после того как в абонента будет данный секретный ключ он сможет войти в кабинет пользователя методом двухфакторной авторизации, то есть сначала он введет логин и пароль, после того как система найдет пользователя в базе она пропустить его к второму шагу подтверждения ввод кода доступа и после верного кода доступа система пропустит абонента в его кабинет.
Названия поля должно быть именно такое G2FA а не _G2FA
1) Добавления дополнительного поля
2) Активация пользователем
На Вкладке "Пароль", пользователь увидит штрих-код, который можно сканировати и получить PIN, который нужно ввести в поле "Код" после чего, у пользователя будет спрашивать Код при каждом входе.
3) Авторизация
После ввода логина и пароля, у пользователя появиться поле для ввода Кода с антетификатора
Для генерации ключей мы рекомендуем такие приложения как:
- Google Authenticator
- Microsoft Authenticator
- Authy
- FreeOTP
Важно отметить что если вы добавляете нового пользователя, система автоматически не задаст ему секретный ключ
Чтобы автоматически сгенерировать ключ необходимо прописать опцию
$conf{G2FA_USER_AUTH}=1;
Важно помнить что алгоритм работает на основе времени