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).
- configurationURL - URL с OpenID конфигурацией федерации. (чаще всего выглядит так
- 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.