Настройка опций запуска приложений Blitz Identity Provider#
Для приложений Blitz Identity Provider доступны следующие Java-опции, определяющие включение особых режимов функционирования приложений и переопределить стандартные режимы работы:
Внимание
Перед установкой опций рекомендуется проконсультироваться с технической поддержкой Blitz Identity Provider.
blitz.login.cookie.sameSite
– задает флаг, с которым должны создаваться сессионные cookies в Blitz Identity Provider. По умолчанию cookies создаются с флагомsameSite=Lax
. Можно переопределить на значениеNone
.blitz.login.outside.flow.callback.ttl.sec
– задает время ожидания ответа от вызванного из Blitz Identity Provider внешнего метода аутентификации. По умолчанию значение300
секунд.blitz.login.mus.cookie.unused.ttl.sec
– задает срок жизни cookie, отвечающей за запоминание списка залогиненных в текущем браузере пользователей. По умолчанию значение соответствует365
дней (значение задается в секундах);blitz.login.bua.cookie.ttl.sec
– задает время действия cookie, используемой для запоминания браузера пользователя. По умолчанию значение соответствует365
дней (значение задается в секундах);blitz.login.setLastAuth.disabled
– позволяет отключить запись в базу данных времени последней аутентификации пользователя. По умолчанию время последней аутентификации пользователя пишется в базу данных. Отключение записи времени последней аутентификации позволяет повысить производительность базы данных, но не позволяет задействовать функцию блокирования учетных записей по неактивности;blitzDispatchedQueues
– задает имя очереди, из которой приложение Blitz Identity Provider обрабатывает задачи на отправку писем, регистрацию пользователей и восстановление паролей. По умолчанию используется очередь с именемdefault
;blitz.stores.united.u-cache.ttlInSec
– срок действия кэша данных учетной записи, предоставляемых через REST API. По умолчанию1
секунда;blitz.csrf.cookie.ttlInSec
– задает время действия cookie, препятствующей CSRF. По умолчанию соответствует6
часам (значение задается в секундах). Это максимальное время с момента открытия пользователем страницы и до выполнения заполненной страницы пользователем на сервер;blitz.jdbc.cols.types.strings
– задает тип колонки, используемой для сохранения строковых атрибутов в реляционной СУБД (PostgreSQL). По умолчанию используется типtext
;blitz.jdbc.pool.stat-period
– задает периодичность, с которой статистика использования JDBC записывается в лог. По умолчанию300
секунд;saml.numThreads
– задает количество потоков, которые в Blitz Identity Provider обрабатывают запросы на вход через SAML. По умолчанию32
потока;blitz.oauth.exchange.rules.fs.cache.capacity
– задает размер кэша, используемый Blitz Identity Provider для проверки правил доступа к микросервисам. По умолчанию размер кэша в10000
проверок;blitz.oauth.dyn.reg.clientSecretLength
– задает размерclient_secret
, генерируемого при динамической регистрации парыclient_id
иclient_secret
. По умолчанию генерируетсяclient_secret
размером в15
символов.blitz.oauth.dyn.reg.clientAttachingTllInSec
– задает время, в течение которого сгенерированная при динамической регистрации параclient_id
иclient_secret
должна быть ассоциирована с пользователем (если в течение этого времени пара не будет ассоциирована с пользователем, то она будет аннулирована). По умолчанию соответствует1
часу (значение задается в секундах).blitz.session.checkRemoteAddress.disabled
– задайтеtrue
для отключения проверки равенства IP-адреса сессии и входящего запроса (рекомендуется при наличии пользователей с динамическими IP-адресами).blitz.webauthn.residentKey.preferred
– если опция задана, то ключи безопасности регистрируются с параметромresidentKey=preferred
. При этом, в случае если опция задана какtrue
, тоrequireResidentKey=true
, а если опцияfalse
, тоrequireResidentKey=false
.blitz.ldap.store.extension.class
– при передаче в опцию значенияcom.identityblitz.idp.store.ldap.custom.PasswordMigrationExt
включается режим миграции пароля.blitz.ldap.store.extension.PasswordMigrationExt.passwordHashAttr
– задает имя LDAP-атрибута, в котором храниться хеш-пароля для опции миграции пароля. Хэш должен содержать префикс{bcrypt}
для миграции паролей из хэшей с алгоритмомbcrypt
.extensionsDir
– адрес директории с модулями расширений.metrics
– позволяет отключить сбор метрик функционирования в формате Prometheus. Для этого нужно выставить значениеfalse
. По умолчанию сбор метрик включенcouchbase.durability.mode
– задает режим сохранения данных в Couchbase Server. В случае использования Couchbase Server версии 6.0.1 и более старых должен обязательно использоваться режимclientVerified
. В случае использования Couchbase Server версий 6.5, 7.0 или новее режимclientVerified
использовать нельзя. Параметр в Couchbase Server версий 6.5, 7.0 становится опционален (при отсутствии параметра используется режимmajority
) и позволяет выбрать требуемый режим гарантированности сохранения данных в кластере с репликацией из следующих вариантов:disabled
– ожидание записи только в память на основном узле кластера;majority
– ожидание записи в память на основном узле и большинстве реплик;majorityAndPersistActive
– ожидание записи на диск на основном узле и записи в память большинства реплик;persistToMajority
– ожидание записи на диск на основном узле и в большинстве реплик.
akka.http.parsing.max-uri-length
– задает максимальную длину URI в строке браузера. В некоторых случаях может потребоваться увеличить размер строки, тогда рекомендуется в этом параметре задать значение16k
.akka.http.parsing.max-header-value-length
– задает максимально допустимый размер HTTP-заголовка. В некоторых случаях может потребоваться увеличить размер заголовка, тогда рекомендуется в этом параметре задать значение16k
.akka.coordinated-shutdown.phases.service-stop.timeout
– задает время ожидания после получения команды на остановку сервиса, в течение которого сервис может завершить взятые в работу задачи. В случае использования встроенного в Blitz Identity Provider брокера сообщений рекомендуется выставить для приложения параметр в значение30s
.memcached.locator.tries
– определяет количество попыток найти работающий серверMemcached
в случае обработки сбоя обращения к серверуMemcached
.
Предупреждение
Не гарантируется, что используемые опции будут сохранены в будущих версиях Blitz Identity Provider.
Для задания опций со значениями, отличающимися от значений по умолчанию,
необходимо отредактировать файл /etc/default/blitz-idp
. Задать в нем
необходимые JAVA_OPTS
. Ниже приведен пример файла, в котором среди
Java-опций также заданы опции blitz.csrf.cookie.ttlInSec
и
blitz.login.cookie.sameSite
. После изменения JAVA_OPTS
необходимо перезапустить приложения Blitz Identity Provider, на которых
сделаны изменения.
export JAVA_HOME=/usr/java/default
export PIDFILE=/usr/share/identityblitz/blitz-idp/RUNNING_PID
export JAVA_OPTS="-server -Xms512m -Xmx1G -XX:MaxMetaspaceSize=512m -Xmn256m -Dcom.couchbase.connectTimeout=30000 -Dakka.http.parsing.max-uri-length=16k"
export JAVA_OPTS="$JAVA_OPTS -Dblitz.csrf.cookie.ttlInSec=36000 -Dblitz.login.cookie.sameSite=None -Dplay.filters.headers.frameOptions=null"