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

gate

Сервис входа (аутентификации)

Note

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

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

Note

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

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию 3061).
  • route - используемый маршрут (по умолчанию '/api/v2.0/gate').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/gate').
  • sessionLifeTime - время жизни сессии в минутах (по умолчанию 10).
  • refreshTokenLifeTime - cрок действия токена обновления в днях (по умолчанию 15).
  • userTokenLifeTime - устанавливает время действия токена восстановления пароля или кода входа при двухфакторной аутентификации в часах (по умолчанию 1). Можно задавать дробные числа, чтобы указать минуты и/или секунды.
  • attemptsLimitForConfirmCode - количество попыток ввода токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию 0). Если значение равно 0, то количество попыток не ограничено.
  • userTokenProvider - имя провайдера восстановления пароля (по умолчанию 'Email'). Доступные значения: Email, Phone.
  • 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).
  • ldap - раздел, содержащий настройки доменной авторизации (с проверкой логина/пароля на контроллере домена).
    • url - адрес контроллера домена. Пример: ldap(s)://domain:port.
    • bindDN - логин администратора домена. В случае пустой строки будет произведена попытка анонимного подключения.
    • bindCredentials - пароль администратора домена.
    • searchBase - описание базового имени откуда начинается поиск пользователей. Пример: ou=users,dc=example,dc=org
    • searchFilter - описание фильтра ldap для поиска пользователей.
    • searchAttributes - список атрибутов, возвращаемых контроллером домена при удачном поиске.
  • ldapSchemeDestionary - словарь сопоставления атрибутов, возвращаемых после поиска пользователя в контроллере домена, и полей, доступных для обновления в таблице пользователей. Доступные значения для обновления в таблице: firstName, lastName, middleName, email, phoneNumber. Пример: ldapSchemeDestionary: { 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. В случае установки значения none считается выключенной. (по умолчанию 'none')