Плагин auth.as для 1C-Битрикс: Корпоративный портал Bitrix24

В этой инструкции мы рассмотрим процесс установки плагина от сервиса двухфакторной аутентификации auth.as для 1C-Битрикс: Корпоративный портал Bitrix24.

 

Описание плагина

Плагин добавляет второй фактор (временный пароль) в форму входа в корпоративный портал Bitrix24 и выглядит следующим образом (появилось новое поле "Одноразовый пароль"), которого нет в обычной форме входа:

Плагин взаимодействует с сервисом auth.as через публичный API. При работе используется функция check_code, которая принимает email пользователя, API ключ домена и одноразовый пароль. Плагин написан на PHP. Рассмотрим процесс установки и настройки плагина детально.

 

Установка плагина

Для установки модуля 1С-Битрикс AUTH.AS, необходимо скачать архив с файлами модуля, распаковать его в папку /bitrix/modules. В будущем, планируется истановка модуля из 1С-Битрикс:Маркетплейс.

Публичный репозиторий на Github: auth.as for Bitrix24 plugin

Инсталляция модуля осуществляется в административном интерфейсе на странице Настройки > Настройки продукта > Модули нажатием кнопки Установить.

 

Настройка плагина

После инсталляции плагина, на странице настроек модуля, необходимо указать «Адрес HTTP API» и «Ключ API» (получаются после подписки в сервисе), пользовательское свойство объекта «USER» типа «Да/Нет» (по-умолчанию при установке модуля создаётся пользовательское свойство UF_IS_CHECK_OTP), количество знаков в одноразовом пароле (по-умолчанию 6) и установить флаг «Включить модуль»:

 

В настройках модуля флаг «Включить модуль» позволяет включить/выключить использование одноразовых паролей на портале. Для включения использования одноразовых паролей для конкретного пользователя необходимо изменить значение его пользовательского поля UF_IS_CHECK_OTP на «Да»:

 

Для пользователей с включенным использованием одноразовых паролей имеется возможность увеличить время жизни сессии. Для этого нужно в настройках модуля указать необходимое значение в минутах «Время жизни сессии» (значение настройки php session.gc_maxlifetime не должно быть меньше указанного времени).