Перейти к содержанию

Gate#

Описание#

Настройки сервиса входа.

Note

Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

Раздел applications { gate { }} конфигурационного файла ./config/production.js

  • protocol - используемый веб-протокол (по умолчанию http).
  • host - имя хоста (по умолчанию localhost).
  • port - порт для запуска (по умолчанию 3061).
  • route - используемый маршрут (по умолчанию /api/v2.0/gate).
  • timeout - количество миллисекунд бездействия, после которого считается, что время ожидания истекло (по умолчанию 120). В режиме продакшена может потребоваться дополнительно настроить таймаут для веб-сервера (nginx).
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/gate').
  • allowUserToChangePassword - разрешить/запретить пользователю изменять (восстанавливать) пароль (по умолчанию true). Для администратора компании настройка игнорируется (всегда доступно изменение пароля).
  • sessionLifeTime - время жизни сессии в минутах (по умолчанию 10).
  • refreshTokenLifeTime - срок действия токена обновления в днях (по умолчанию 15).
  • userTokenLifeTime - устанавливает время действия токена восстановления пароля или кода входа при двухфакторной аутентификации в часах (по умолчанию 1). Можно задавать дробные числа, чтобы указать минуты и/или секунды.
  • failedPasswordAttemptsInterval - Время в секундах, через которое пользователь может повторить вход в приложение при неудачной попытке ввода пароля (по умолчанию 0 - без ограничений по времени).
  • attemptsLimitForConfirmCode - количество попыток ввода токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию 0). Если значение равно 0, то количество попыток не ограничено.
  • timeLimitForResendingConfirmCode - лимит времени (в секундах) для возможности повторной отправки токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию 0 - без ограничений по времени). Настройка влияет на доступность кнопки отправки кода. На сервере проверка не осуществляется.
  • userTokenProvider - имя провайдера восстановления пароля (по умолчанию 'email'). Доступные значения: email, phone, flashCall.
  • secret - уникальный секретный ключ, на основе которого шифруется сессия.
  • validation - настройки валидации пароля и логина пользователя.
  • passwordRegularExpression - регулярное выражения для проверки пароля (по умолчанию /^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,}$/).
  • invalidPasswordMessage - сообщение отображаемое пользователю при вводе невалидного пароля (по умолчанию 'Пароль должен содержать строчные и прописные буквы, а также цифры. Минимальная длина 8 символов').
  • userNameRegularExpression - регулярное выражения для проверки логина (по умолчанию /^(?=.{8,20}$)[a-zA-Z0-9]+(?:[._][a-zA-Z0-9]+)*$/).
  • invalidUserNameMessage - сообщение отображаемое пользователю при вводе невалидного логина (по умолчанию 'Логин должен содержать только латинские буквы или цифры. Минимальная длина 8 символов').
  • cookieName - задает имя cookie для хранения идентификатора сессии (по умолчанию 'ara-session').
  • passwordExpiration - задает срок действия пароля пользователя в днях, значение 0 отключает проверку (по умолчанию значение 0).
  • externalRegistrationHost - указывается адрес основного сайта, если текущий сайт используется для регистрации пользователей.
  • autoLogin - настройки для автоматической авторизации клиента.
  • userName - login пользователя, под которым произойдет вход в приложение.
  • ldap - раздел, содержащий настройки доменной авторизации (с проверкой логина/пароля на контроллере домена).
  • url - адрес контроллера домена. Пример: ldap(s)://domain:port.
  • bindDN - логин администратора домена. В случае пустой строки будет произведена попытка анонимного подключения.
  • bindCredentials - пароль администратора домена.
  • searchBase - описание базового имени, откуда начинается поиск пользователей. Пример: 'ou=users,dc=example,dc=org'. Можно задавать в виде массива строк, если требуется выполнять поиск в разных каталогах. Пример: ['ou=users,dc=example1,dc=org', 'ou=users,dc=example2,dc=org'].
  • searchFilter - описание фильтра LDAP для поиска пользователей.
  • searchAttributes - список атрибутов, возвращаемых контроллером домена при удачном поиске.
  • updateUserAttributes - включает/выключает автоматическое обновление атрибутов пользователя (которые получены из контроллера домена) в системной таблице (по умолчанию true).
  • ldapSchemeDictionary - словарь сопоставления атрибутов пользователя лексемы с полями, которые возвращаются контроллером домена после поиска пользователя. Используются для обновления данных в таблице пользователей, при получении списка пользователей из контроллера домена. Доступные атрибуты для сопоставления: firstName, lastName, middleName, email, phoneNumber. Пример: ldapSchemeDictionary: { email: 'mail', phoneNumber: 'mobile' }.
  • adfs - раздел, содержащий настройки авторизации через портал ADFS:
  • openid - раздел, содержащий настройки для авторизации по схеме OpenID:
    • configurationURL - URL с OpenID конфигурацией федерации. (чаще всего выглядит так https://fs.lex.lan/adfs/.well-known/openid-configuration).
    • clientID - уникальный идентификатор клиентского приложения, зарегистрированного в федерации.
    • callbackURL - URL возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: http(s)://[адрес сайта]/api/v2.0/gate/adfs/openid/callback. (Вводится при регистрации приложения в федерации).
    • strictSSL - устанавливает необходимость валидации SSL сертификата при запросах к адресам федерации (по умолчанию true).
    • userNameField - поле, по которому будет проводиться аутентификация пользователя. Зависит от схемы, используемой в доменах федерации. (по умолчанию upn).
  • saml - раздел, содержащий настройки для авторизации по схеме SAML:
  • metadata - URL для загрузки метаданных в формате XML. (чаще всего выглядит так https://adfs2.lex.lan/FederationMetadata/2007-06/FederationMetadata.xml).
  • callbackUrl - URL возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: https://[адрес сайта]/api/v2.0/gate/adfs/saml/callback. (Вводится при регистрации Relying Party Trusts в федерации).
  • issuer - идентификатор зарегистрированного Relying Party Trusts. (Вводится при регистрации Relying Party Trusts в федерации).
  • entryPoint - точка входа в портал. (Пример: https://adfs2.lex.lan/adfs/ls).
  • upnName - имя запрашиваемых данных из ADFS. (Пример: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn).
  • cert - сертификат подписи (signing) в формате X.509, декодированный в Base-64.
  • disableRequestedAuthnContext - флаг отключения проверки контекста авторизации. Позволяет пройти авторизацию из сети другого домена. Ошибка с текстом "SAML provider returned Responder error: NoAuthnContext" говорит о том, что контекст неверен или отсутствует и необходимо включить данную настройку при необходимости (по умолчанию false).
  • ssoAuthDC - адрес контроллера домена. Пример: ldap(s)://domain:port.
  • enableChangePasswordOnFirstLogin - включение необходимости смены пароля при первом входе пользователя после регистрации.
  • twoFactorProvider - провайдер двухфакторной аутентификации. Доступные значения: none, email, phone, flashCall. В случае установки значения none считается выключенной. (по умолчанию none).
  • oauth2 - настройки oauth2-сервера.
  • multipleSessions - включает/выключает поддержку множественных сессий для пользователя (по умолчанию true).
  • pingOne - раздел, содержащий настройки авторизации через портал PingOne.
  • openid - раздел, содержащий настройки для авторизации по схеме openid.
  • clientId - уникальный идентификатор клиентского приложения.
  • clientSecret - client_secret клиентского приложения.
  • scope - список передаваемых scope (пример: 'openid profile email').
  • callbackUrl - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: http(s)://[адрес сайта]/api/v2.0/gate/pingone/openid/callback.
  • authorizationUrl - адрес, на который перенаправляется пользователь для ввода логина и пароля.
  • jwksEndPoint - адрес JWKS endpoint.
  • tokenEndpoint - адрес token endpoint.
  • prompt - указывает, будет ли сервер авторизации запрашивать у конечного пользователя повторную аутентификацию (по умолчанию none). Доступные значения: none, login.