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 символов'
).
- passwordRegularExpression - регулярное выражения для проверки пароля (по умолчанию
- 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)
- openid - раздел, содержащий настройки для авторизации по схеме openid:
- ssoAuthDC - адрес контроллера домена. Пример: ldap(s)://domain:port.
- enableChangePasswordOnFirstLogin - включение необходимости смены пароля при первом входе пользователя после регистрации.
- twoFactorProvider - провайдер двухфакторной аутентификации. Доступные значения: none, email, phone. В случае установки значения none считается выключенной. (по умолчанию
'none'
)