Это многостраничный печатный вид этого раздела. Нажмите что бы печатать.

Вернуться к обычному просмотру страницы.

Методы Authelia

Методы

Authelia имеет несколько способов настройки. Порядок приоритета следующий:

  1. Секреты
  2. Переменные окружения
  3. Файлы (в порядке их указания)

1 - Секреты Authelia

Для настройки Authelia требуется несколько секретов и паролей.

Для настройки Authelia требуется несколько секретов и паролей. Даже если они могут быть заданы в конфигурационном файле или стандартных переменных окружения, рекомендуется использовать этот метод настройки, описанный ниже.

Filters

Помимо описанных ниже методов, файлы конфигурации можно передавать через фильтры шаблонов. Эти фильтры можно использовать для вставки или изменения содержимого файла. В частности, функция fileContent может быть использована для получения содержимого файла, а nindent - для добавления новой строки и отступа содержимого этого файла.

authentication_backend:
  ldap:
    address: 'ldap://{{ env "SERVICES_SERVER" }}'
    tls:
      private_key: |
        {{- fileContent "./test_resources/example_filter_rsa_private_key" | nindent 8 }}

{{ и }} ограничители шаблона

вставляем содержимое файла в ключ private_key с отступом 8 пробелов

Layers

Security

Этот метод немного улучшает безопасность других методов, поскольку позволяет легко разделить конфигурацию логически безопасным способом.

Environment variables

Секретное значение может быть загружено Authelia, если ключ конфигурации заканчивается одним из следующих слов: key, secret, password, token или certificate_chain.

Если вы возьмете ожидаемую переменную окружения для конфигурационного параметра с суффиксом _FILE в конце. Значение этих переменных окружения должно быть путем к файлу, который может быть прочитан процессом Authelia, если это не так, Authelia не сможет загрузиться. Authelia автоматически удалит новые строки в конце содержимого файлов.

Например, пароль LDAP может быть определен в конфигурации по пути authentication_backend.ldap.password, поэтому в качестве альтернативы этот пароль может быть задан с помощью переменной окружения под названием

AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE

Список переменных
Configuration KeyEnvironment Variable
authentication_backend.ldap.passwordAUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE
authentication_backend.ldap.tls.certificate_chainAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_CERTIFICATE_CHAIN_FILE
authentication_backend.ldap.tls.private_keyAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_PRIVATE_KEY_FILE
duo_api.integration_keyAUTHELIA_DUO_API_INTEGRATION_KEY_FILE
duo_api.secret_keyAUTHELIA_DUO_API_SECRET_KEY_FILE
identity_providers.oidc.hmac_secretAUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE
identity_validation.reset_password.jwt_secretAUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE
notifier.smtp.passwordAUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE
notifier.smtp.tls.certificate_chainAUTHELIA_NOTIFIER_SMTP_TLS_CERTIFICATE_CHAIN_FILE
notifier.smtp.tls.private_keyAUTHELIA_NOTIFIER_SMTP_TLS_PRIVATE_KEY_FILE
session.redis.high_availability.sentinel_passwordAUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_PASSWORD_FILE
session.redis.passwordAUTHELIA_SESSION_REDIS_PASSWORD_FILE
session.redis.tls.certificate_chainAUTHELIA_SESSION_REDIS_TLS_CERTIFICATE_CHAIN_FILE
session.redis.tls.private_keyAUTHELIA_SESSION_REDIS_TLS_PRIVATE_KEY_FILE
session.secretAUTHELIA_SESSION_SECRET_FILE
storage.encryption_keyAUTHELIA_STORAGE_ENCRYPTION_KEY_FILE
storage.mysql.passwordAUTHELIA_STORAGE_MYSQL_PASSWORD_FILE
storage.mysql.tls.certificate_chainAUTHELIA_STORAGE_MYSQL_TLS_CERTIFICATE_CHAIN_FILE
storage.mysql.tls.private_keyAUTHELIA_STORAGE_MYSQL_TLS_PRIVATE_KEY_FILE
storage.postgres.passwordAUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE
storage.postgres.tls.certificate_chainAUTHELIA_STORAGE_POSTGRES_TLS_CERTIFICATE_CHAIN_FILE
storage.postgres.tls.private_keyAUTHELIA_STORAGE_POSTGRES_TLS_PRIVATE_KEY_FILE

Секреты в конфигурационном файле

Секреты, открытые в переменной окружения

Во всех версиях 4.30.0+ вы можете задать секреты с помощью переменных окружения без суффикса _FILE, установив значение, которое вы хотите задать в конфигурации, однако мы настоятельно рекомендуем не использовать эту возможность и вместо этого использовать файловые секреты, описанные выше.

2 - Файлы конфигурации

Параметры конфигурации могут быть определены либо через аргумент, либо через переменную окружения, но не через оба параметра одновременно.

Поведение при загрузке и обнаружение

Существует несколько опций, которые влияют на загрузку файлов:

NameArgumentEnvironment VariableОписание и назначение переменных
Files/Directories--config, -cX_AUTHELIA_CONFIGСписок путей к файлам или каталогам (без рекурсии) для загрузки файлов конфигурации
Filters--config.experimental.filtersX_AUTHELIA_CONFIG_FILTERSСписок фильтров, применяемых к каждому файлу из опций «Файлы» или «Каталоги».

Параметры конфигурации могут быть определены либо через аргумент, либо через переменную окружения, но не через оба параметра одновременно. Если указаны оба параметра, приоритет имеет аргумент, а переменная окружения игнорируется. Обычно рекомендуется использовать переменную окружения, если вы используете контейнер, так как это позволит вам легче выполнять другие команды из контекста контейнера.

Запуск контейнера с файлом конфигурации

docker run authelia/authelia:latest authelia --config configuration.yml
docker run -d authelia/authelia:latest authelia --config configuration.yml --config config-acl.yml --config config-other.yml
docker run -d authelia/authelia:latest authelia --config configuration.yml,config-acl.yml,config-other.yml

По умолчанию контейнер ищет файл конфигурации по адресу /config/configuration.yml

docker run -d --volume /path/to/config:/config authelia:authelia:latest authelia --config=/config/configuration.yml --config=/config/configuration.acl.yml

Docker Compose

services:
  authelia:
    container_name: 'authelia'
    image: 'authelia/authelia:latest'
    command:
      - 'authelia'
      - '--config=/config/configuration.yml'
      - '--config=/config/configuration.acl.yml'

Kubernetes

пример файла deployment.yaml

kind: Deployment
apiVersion: apps/v1
metadata:
  name: authelia
  namespace: authelia
  labels:
    app.kubernetes.io/instance: authelia
    app.kubernetes.io/name: authelia
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/instance: authelia
      app.kubernetes.io/name: authelia
  template:
    metadata:
      labels:
        app.kubernetes.io/instance: authelia
        app.kubernetes.io/name: authelia
    spec:
      enableServiceLinks: false
      containers:
        - name: authelia
          image: docker.io/authelia/authelia:latest
          command:
            - authelia
          args:
            - '--config=/configuration.yml'
            - '--config=/configuration.acl.yml'

Файлы фильтров

Существуют файловые фильтры, которые позволяют изменять все конфигурационные файлы после их чтения из файловой системы, но до разбора их содержимого. Если эти фильтры не указаны явно, они НЕ подпадают под действие нашей стандартной политики версионирования.

Наступит момент, когда:

Имя аргумента CLI изменится (мы рекомендуем использовать переменную окружения, которая этого не сделает)

Фильтры настраиваются как список имен фильтров с помощью аргумента CLI –config.experimental.filters и переменной окружения X_AUTHELIA_CONFIG_FILTERS. Мы рекомендуем использовать переменную окружения, так как это гарантирует, что команды, выполняемые из контейнера, используют одни и те же фильтры, и, скорее всего, это постоянное значение, в то время как аргумент может меняться. Если используется и аргумент CLI, и переменная окружения, то переменная окружения полностью игнорируется.

Фильтры могут использоваться самостоятельно, в комбинации или вообще не использоваться. Фильтры обрабатываются в порядке их определения. Вы можете просмотреть вывод YAML-файлов при обработке с помощью фильтров, используя команду authelia config template.

docker run -d authelia/authelia:latest authelia --config /config/configuration.yml --config.experimental.filters template
docker run -d -e X_AUTHELIA_CONFIG_FILTERS=template -e X_AUTHELIA_CONFIG=/config/configuration.yml authelia/authelia:latest authelia

Используются функции шаблонизатора GO

https://pkg.go.dev/text/template#hdr-Functions

3 - Переменные Authelia

Переменные окружения должны иметь префикс AUTHELIA_. Все переменные окружения, начинающиеся с этого префикса, должны быть предназначены для конфигурации. Любые переменные окружения, имеющие этот префикс и не предназначенные для конфигурации, скорее всего, приведут к ошибке или, что еще хуже, к неправильной конфигурации.

Синтаксис переменных

Переменные окружения должны иметь префикс AUTHELIA_. Все переменные окружения, начинающиеся с этого префикса, должны быть предназначены для конфигурации. Любые переменные окружения, имеющие этот префикс и не предназначенные для конфигурации, скорее всего, приведут к ошибке или, что еще хуже, к неправильной конфигурации.

Mapping

Параметры конфигурации сопоставляются по их имени. Уровни отступа / подклавиши заменяются символами подчеркивания.

log:
  level: 'info'
server:
  buffers:
    read: 4096

или

AUTHELIA_LOG_LEVEL=info
AUTHELIA_SERVER_BUFFERS_READ=4096

Список переменных

Configuration KeyEnvironment Variable
access_control.default_policyAUTHELIA_ACCESS_CONTROL_DEFAULT_POLICY
authentication_backend.file.password.algorithmAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ALGORITHM
authentication_backend.file.password.argon2.iterationsAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ARGON2_ITERATIONS
authentication_backend.file.password.argon2.key_lengthAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ARGON2_KEY_LENGTH
authentication_backend.file.password.argon2.memoryAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ARGON2_MEMORY
authentication_backend.file.password.argon2.parallelismAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ARGON2_PARALLELISM
authentication_backend.file.password.argon2.salt_lengthAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ARGON2_SALT_LENGTH
authentication_backend.file.password.argon2.variantAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_ARGON2_VARIANT
authentication_backend.file.password.bcrypt.costAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_BCRYPT_COST
authentication_backend.file.password.bcrypt.variantAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_BCRYPT_VARIANT
authentication_backend.file.password.pbkdf2.iterationsAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_PBKDF2_ITERATIONS
authentication_backend.file.password.pbkdf2.salt_lengthAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_PBKDF2_SALT_LENGTH
authentication_backend.file.password.pbkdf2.variantAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_PBKDF2_VARIANT
authentication_backend.file.password.scrypt.block_sizeAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SCRYPT_BLOCK_SIZE
authentication_backend.file.password.scrypt.iterationsAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SCRYPT_ITERATIONS
authentication_backend.file.password.scrypt.key_lengthAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SCRYPT_KEY_LENGTH
authentication_backend.file.password.scrypt.parallelismAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SCRYPT_PARALLELISM
authentication_backend.file.password.scrypt.salt_lengthAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SCRYPT_SALT_LENGTH
authentication_backend.file.password.scrypt.variantAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SCRYPT_VARIANT
authentication_backend.file.password.sha2crypt.iterationsAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SHA2CRYPT_ITERATIONS
authentication_backend.file.password.sha2crypt.salt_lengthAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SHA2CRYPT_SALT_LENGTH
authentication_backend.file.password.sha2crypt.variantAUTHELIA_AUTHENTICATION_BACKEND_FILE_PASSWORD_SHA2CRYPT_VARIANT
authentication_backend.file.pathAUTHELIA_AUTHENTICATION_BACKEND_FILE_PATH
authentication_backend.file.search.case_insensitiveAUTHELIA_AUTHENTICATION_BACKEND_FILE_SEARCH_CASE_INSENSITIVE
authentication_backend.file.search.emailAUTHELIA_AUTHENTICATION_BACKEND_FILE_SEARCH_EMAIL
authentication_backend.file.watchAUTHELIA_AUTHENTICATION_BACKEND_FILE_WATCH
authentication_backend.ldap.additional_groups_dnAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ADDITIONAL_GROUPS_DN
authentication_backend.ldap.additional_users_dnAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ADDITIONAL_USERS_DN
authentication_backend.ldap.addressAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ADDRESS
authentication_backend.ldap.attributes.birthdateAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_BIRTHDATE
authentication_backend.ldap.attributes.countryAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_COUNTRY
authentication_backend.ldap.attributes.display_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_DISPLAY_NAME
authentication_backend.ldap.attributes.distinguished_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_DISTINGUISHED_NAME
authentication_backend.ldap.attributes.family_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_FAMILY_NAME
authentication_backend.ldap.attributes.genderAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_GENDER
authentication_backend.ldap.attributes.given_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_GIVEN_NAME
authentication_backend.ldap.attributes.group_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_GROUP_NAME
authentication_backend.ldap.attributes.localeAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_LOCALE
authentication_backend.ldap.attributes.localityAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_LOCALITY
authentication_backend.ldap.attributes.mailAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_MAIL
authentication_backend.ldap.attributes.member_ofAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_MEMBER_OF
authentication_backend.ldap.attributes.middle_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_MIDDLE_NAME
authentication_backend.ldap.attributes.nicknameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_NICKNAME
authentication_backend.ldap.attributes.phone_extensionAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_PHONE_EXTENSION
authentication_backend.ldap.attributes.phone_numberAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_PHONE_NUMBER
authentication_backend.ldap.attributes.pictureAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_PICTURE
authentication_backend.ldap.attributes.postal_codeAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_POSTAL_CODE
authentication_backend.ldap.attributes.profileAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_PROFILE
authentication_backend.ldap.attributes.regionAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_REGION
authentication_backend.ldap.attributes.street_addressAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_STREET_ADDRESS
authentication_backend.ldap.attributes.usernameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_USERNAME
authentication_backend.ldap.attributes.websiteAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_WEBSITE
authentication_backend.ldap.attributes.zoneinfoAUTHELIA_AUTHENTICATION_BACKEND_LDAP_ATTRIBUTES_ZONEINFO
authentication_backend.ldap.base_dnAUTHELIA_AUTHENTICATION_BACKEND_LDAP_BASE_DN
authentication_backend.ldap.group_search_modeAUTHELIA_AUTHENTICATION_BACKEND_LDAP_GROUP_SEARCH_MODE
authentication_backend.ldap.groups_filterAUTHELIA_AUTHENTICATION_BACKEND_LDAP_GROUPS_FILTER
authentication_backend.ldap.implementationAUTHELIA_AUTHENTICATION_BACKEND_LDAP_IMPLEMENTATION
authentication_backend.ldap.permit_feature_detection_failureAUTHELIA_AUTHENTICATION_BACKEND_LDAP_PERMIT_FEATURE_DETECTION_FAILURE
authentication_backend.ldap.permit_referralsAUTHELIA_AUTHENTICATION_BACKEND_LDAP_PERMIT_REFERRALS
authentication_backend.ldap.permit_unauthenticated_bindAUTHELIA_AUTHENTICATION_BACKEND_LDAP_PERMIT_UNAUTHENTICATED_BIND
authentication_backend.ldap.pooling.countAUTHELIA_AUTHENTICATION_BACKEND_LDAP_POOLING_COUNT
authentication_backend.ldap.pooling.enableAUTHELIA_AUTHENTICATION_BACKEND_LDAP_POOLING_ENABLE
authentication_backend.ldap.pooling.retriesAUTHELIA_AUTHENTICATION_BACKEND_LDAP_POOLING_RETRIES
authentication_backend.ldap.pooling.timeoutAUTHELIA_AUTHENTICATION_BACKEND_LDAP_POOLING_TIMEOUT
authentication_backend.ldap.start_tlsAUTHELIA_AUTHENTICATION_BACKEND_LDAP_START_TLS
authentication_backend.ldap.timeoutAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TIMEOUT
authentication_backend.ldap.tls.maximum_versionAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_MAXIMUM_VERSION
authentication_backend.ldap.tls.minimum_versionAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_MINIMUM_VERSION
authentication_backend.ldap.tls.server_nameAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_SERVER_NAME
authentication_backend.ldap.tls.skip_verifyAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_SKIP_VERIFY
authentication_backend.ldap.userAUTHELIA_AUTHENTICATION_BACKEND_LDAP_USER
authentication_backend.ldap.users_filterAUTHELIA_AUTHENTICATION_BACKEND_LDAP_USERS_FILTER
authentication_backend.password_change.disableAUTHELIA_AUTHENTICATION_BACKEND_PASSWORD_CHANGE_DISABLE
authentication_backend.password_reset.custom_urlAUTHELIA_AUTHENTICATION_BACKEND_PASSWORD_RESET_CUSTOM_URL
authentication_backend.password_reset.disableAUTHELIA_AUTHENTICATION_BACKEND_PASSWORD_RESET_DISABLE
authentication_backend.refresh_intervalAUTHELIA_AUTHENTICATION_BACKEND_REFRESH_INTERVAL

Identuty

Configuration KeyEnvironment Variable
certificates_directoryAUTHELIA_CERTIFICATES_DIRECTORY
default_2fa_methodAUTHELIA_DEFAULT_2FA_METHOD
duo_api.disableAUTHELIA_DUO_API_DISABLE
duo_api.enable_self_enrollmentAUTHELIA_DUO_API_ENABLE_SELF_ENROLLMENT
duo_api.hostnameAUTHELIA_DUO_API_HOSTNAME
identity_providers.oidcAUTHELIA_IDENTITY_PROVIDERS_OIDC
identity_providers.oidc.cors.allowed_origins_from_client_redirect_urisAUTHELIA_IDENTITY_PROVIDERS_OIDC_CORS_ALLOWED_ORIGINS_FROM_CLIENT_REDIRECT_URIS
identity_providers.oidc.cors.endpointsAUTHELIA_IDENTITY_PROVIDERS_OIDC_CORS_ENDPOINTS
identity_providers.oidc.discovery_signed_response_algAUTHELIA_IDENTITY_PROVIDERS_OIDC_DISCOVERY_SIGNED_RESPONSE_ALG
identity_providers.oidc.discovery_signed_response_key_idAUTHELIA_IDENTITY_PROVIDERS_OIDC_DISCOVERY_SIGNED_RESPONSE_KEY_ID
identity_providers.oidc.enable_client_debug_messagesAUTHELIA_IDENTITY_PROVIDERS_OIDC_ENABLE_CLIENT_DEBUG_MESSAGES
identity_providers.oidc.enable_jwt_access_token_stateless_introspectionAUTHELIA_IDENTITY_PROVIDERS_OIDC_ENABLE_JWT_ACCESS_TOKEN_STATELESS_INTROSPECTION
identity_providers.oidc.enable_pkce_plain_challengeAUTHELIA_IDENTITY_PROVIDERS_OIDC_ENABLE_PKCE_PLAIN_CHALLENGE
identity_providers.oidc.enforce_pkceAUTHELIA_IDENTITY_PROVIDERS_OIDC_ENFORCE_PKCE
identity_providers.oidc.lifespans.access_tokenAUTHELIA_IDENTITY_PROVIDERS_OIDC_LIFESPANS_ACCESS_TOKEN
identity_providers.oidc.lifespans.authorize_codeAUTHELIA_IDENTITY_PROVIDERS_OIDC_LIFESPANS_AUTHORIZE_CODE
identity_providers.oidc.lifespans.device_codeAUTHELIA_IDENTITY_PROVIDERS_OIDC_LIFESPANS_DEVICE_CODE
identity_providers.oidc.lifespans.id_tokenAUTHELIA_IDENTITY_PROVIDERS_OIDC_LIFESPANS_ID_TOKEN
identity_providers.oidc.lifespans.jwt_secured_authorizationAUTHELIA_IDENTITY_PROVIDERS_OIDC_LIFESPANS_JWT_SECURED_AUTHORIZATION
identity_providers.oidc.lifespans.refresh_tokenAUTHELIA_IDENTITY_PROVIDERS_OIDC_LIFESPANS_REFRESH_TOKEN
identity_providers.oidc.minimum_parameter_entropyAUTHELIA_IDENTITY_PROVIDERS_OIDC_MINIMUM_PARAMETER_ENTROPY
identity_providers.oidc.require_pushed_authorization_requestsAUTHELIA_IDENTITY_PROVIDERS_OIDC_REQUIRE_PUSHED_AUTHORIZATION_REQUESTS
identity_validation.elevated_session.charactersAUTHELIA_IDENTITY_VALIDATION_ELEVATED_SESSION_CHARACTERS
identity_validation.elevated_session.code_lifespanAUTHELIA_IDENTITY_VALIDATION_ELEVATED_SESSION_CODE_LIFESPAN
identity_validation.elevated_session.elevation_lifespanAUTHELIA_IDENTITY_VALIDATION_ELEVATED_SESSION_ELEVATION_LIFESPAN
identity_validation.elevated_session.require_second_factorAUTHELIA_IDENTITY_VALIDATION_ELEVATED_SESSION_REQUIRE_SECOND_FACTOR
identity_validation.elevated_session.skip_second_factorAUTHELIA_IDENTITY_VALIDATION_ELEVATED_SESSION_SKIP_SECOND_FACTOR
identity_validation.reset_password.jwt_algorithmAUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_ALGORITHM
identity_validation.reset_password.jwt_lifespanAUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_LIFESPAN

log

Configuration KeyEnvironment Variable
log.file_pathAUTHELIA_LOG_FILE_PATH
log.formatAUTHELIA_LOG_FORMAT
log.keep_stdoutAUTHELIA_LOG_KEEP_STDOUT
log.levelAUTHELIA_LOG_LEVEL
notifier.disable_startup_checkAUTHELIA_NOTIFIER_DISABLE_STARTUP_CHECK
notifier.filesystem.filenameAUTHELIA_NOTIFIER_FILESYSTEM_FILENAME
notifier.smtp.addressAUTHELIA_NOTIFIER_SMTP_ADDRESS
notifier.smtp.disable_html_emailsAUTHELIA_NOTIFIER_SMTP_DISABLE_HTML_EMAILS
notifier.smtp.disable_require_tlsAUTHELIA_NOTIFIER_SMTP_DISABLE_REQUIRE_TLS
notifier.smtp.disable_starttlsAUTHELIA_NOTIFIER_SMTP_DISABLE_STARTTLS
notifier.smtp.identifierAUTHELIA_NOTIFIER_SMTP_IDENTIFIER
notifier.smtp.senderAUTHELIA_NOTIFIER_SMTP_SENDER
notifier.smtp.startup_check_addressAUTHELIA_NOTIFIER_SMTP_STARTUP_CHECK_ADDRESS
notifier.smtp.subjectAUTHELIA_NOTIFIER_SMTP_SUBJECT
notifier.smtp.timeoutAUTHELIA_NOTIFIER_SMTP_TIMEOUT
notifier.smtp.tls.maximum_versionAUTHELIA_NOTIFIER_SMTP_TLS_MAXIMUM_VERSION
notifier.smtp.tls.minimum_versionAUTHELIA_NOTIFIER_SMTP_TLS_MINIMUM_VERSION
notifier.smtp.tls.server_nameAUTHELIA_NOTIFIER_SMTP_TLS_SERVER_NAME
notifier.smtp.tls.skip_verifyAUTHELIA_NOTIFIER_SMTP_TLS_SKIP_VERIFY
notifier.smtp.usernameAUTHELIA_NOTIFIER_SMTP_USERNAME
notifier.template_pathAUTHELIA_NOTIFIER_TEMPLATE_PATH
ntp.addressAUTHELIA_NTP_ADDRESS
ntp.disable_failureAUTHELIA_NTP_DISABLE_FAILURE
ntp.disable_startup_checkAUTHELIA_NTP_DISABLE_STARTUP_CHECK
ntp.max_desyncAUTHELIA_NTP_MAX_DESYNC
ntp.versionAUTHELIA_NTP_VERSION
password_policy.standard.enabledAUTHELIA_PASSWORD_POLICY_STANDARD_ENABLED
password_policy.standard.max_lengthAUTHELIA_PASSWORD_POLICY_STANDARD_MAX_LENGTH
password_policy.standard.min_lengthAUTHELIA_PASSWORD_POLICY_STANDARD_MIN_LENGTH
password_policy.standard.require_lowercaseAUTHELIA_PASSWORD_POLICY_STANDARD_REQUIRE_LOWERCASE
password_policy.standard.require_numberAUTHELIA_PASSWORD_POLICY_STANDARD_REQUIRE_NUMBER
password_policy.standard.require_specialAUTHELIA_PASSWORD_POLICY_STANDARD_REQUIRE_SPECIAL
password_policy.standard.require_uppercaseAUTHELIA_PASSWORD_POLICY_STANDARD_REQUIRE_UPPERCASE
password_policy.zxcvbn.enabledAUTHELIA_PASSWORD_POLICY_ZXCVBN_ENABLED
password_policy.zxcvbn.min_scoreAUTHELIA_PASSWORD_POLICY_ZXCVBN_MIN_SCORE

privacy

Configuration KeyEnvironment Variable
privacy_policy.enabledAUTHELIA_PRIVACY_POLICY_ENABLED
privacy_policy.policy_urlAUTHELIA_PRIVACY_POLICY_POLICY_URL
privacy_policy.require_user_acceptanceAUTHELIA_PRIVACY_POLICY_REQUIRE_USER_ACCEPTANCE
regulation.ban_timeAUTHELIA_REGULATION_BAN_TIME
regulation.find_timeAUTHELIA_REGULATION_FIND_TIME
regulation.max_retriesAUTHELIA_REGULATION_MAX_RETRIES
regulation.modesAUTHELIA_REGULATION_MODES
server.addressAUTHELIA_SERVER_ADDRESS
server.asset_pathAUTHELIA_SERVER_ASSET_PATH
server.buffers.readAUTHELIA_SERVER_BUFFERS_READ
server.buffers.writeAUTHELIA_SERVER_BUFFERS_WRITE
server.disable_healthcheckAUTHELIA_SERVER_DISABLE_HEALTHCHECK
server.endpoints.enable_expvarsAUTHELIA_SERVER_ENDPOINTS_ENABLE_EXPVARS
server.endpoints.enable_pprofAUTHELIA_SERVER_ENDPOINTS_ENABLE_PPROF
server.endpoints.rate_limits.reset_password_finish.enableAUTHELIA_SERVER_ENDPOINTS_RATE_LIMITS_RESET_PASSWORD_FINISH_ENABLE
server.endpoints.rate_limits.reset_password_start.enableAUTHELIA_SERVER_ENDPOINTS_RATE_LIMITS_RESET_PASSWORD_START_ENABLE
server.endpoints.rate_limits.second_factor_duo.enableAUTHELIA_SERVER_ENDPOINTS_RATE_LIMITS_SECOND_FACTOR_DUO_ENABLE
server.endpoints.rate_limits.second_factor_totp.enableAUTHELIA_SERVER_ENDPOINTS_RATE_LIMITS_SECOND_FACTOR_TOTP_ENABLE
server.endpoints.rate_limits.session_elevation_finish.enableAUTHELIA_SERVER_ENDPOINTS_RATE_LIMITS_SESSION_ELEVATION_FINISH_ENABLE
server.endpoints.rate_limits.session_elevation_start.enableAUTHELIA_SERVER_ENDPOINTS_RATE_LIMITS_SESSION_ELEVATION_START_ENABLE
server.headers.csp_templateAUTHELIA_SERVER_HEADERS_CSP_TEMPLATE
server.timeouts.idleAUTHELIA_SERVER_TIMEOUTS_IDLE
server.timeouts.readAUTHELIA_SERVER_TIMEOUTS_READ
server.timeouts.writeAUTHELIA_SERVER_TIMEOUTS_WRITE
server.tls.certificateAUTHELIA_SERVER_TLS_CERTIFICATE
server.tls.client_certificatesAUTHELIA_SERVER_TLS_CLIENT_CERTIFICATES
server.tls.keyAUTHELIA_SERVER_TLS_KEY
sessionAUTHELIA_SESSION
session.expirationAUTHELIA_SESSION_EXPIRATION
session.inactivityAUTHELIA_SESSION_INACTIVITY
session.nameAUTHELIA_SESSION_NAME
session.redis.database_indexAUTHELIA_SESSION_REDIS_DATABASE_INDEX
session.redis.high_availability.route_by_latencyAUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_ROUTE_BY_LATENCY
session.redis.high_availability.route_randomlyAUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_ROUTE_RANDOMLY
session.redis.high_availability.sentinel_nameAUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_NAME
session.redis.high_availability.sentinel_usernameAUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_USERNAME
session.redis.hostAUTHELIA_SESSION_REDIS_HOST
session.redis.max_retriesAUTHELIA_SESSION_REDIS_MAX_RETRIES
session.redis.maximum_active_connectionsAUTHELIA_SESSION_REDIS_MAXIMUM_ACTIVE_CONNECTIONS
session.redis.minimum_idle_connectionsAUTHELIA_SESSION_REDIS_MINIMUM_IDLE_CONNECTIONS
session.redis.portAUTHELIA_SESSION_REDIS_PORT
session.redis.timeoutAUTHELIA_SESSION_REDIS_TIMEOUT
session.redis.tls.maximum_versionAUTHELIA_SESSION_REDIS_TLS_MAXIMUM_VERSION
session.redis.tls.minimum_versionAUTHELIA_SESSION_REDIS_TLS_MINIMUM_VERSION
session.redis.tls.server_nameAUTHELIA_SESSION_REDIS_TLS_SERVER_NAME
session.redis.tls.skip_verifyAUTHELIA_SESSION_REDIS_TLS_SKIP_VERIFY
session.redis.usernameAUTHELIA_SESSION_REDIS_USERNAME
session.remember_meAUTHELIA_SESSION_REMEMBER_ME
session.same_siteAUTHELIA_SESSION_SAME_SITE

storage

Configuration KeyEnvironment Variable
storage.local.pathAUTHELIA_STORAGE_LOCAL_PATH
storage.mysql.addressAUTHELIA_STORAGE_MYSQL_ADDRESS
storage.mysql.databaseAUTHELIA_STORAGE_MYSQL_DATABASE
storage.mysql.timeoutAUTHELIA_STORAGE_MYSQL_TIMEOUT
storage.mysql.tls.maximum_versionAUTHELIA_STORAGE_MYSQL_TLS_MAXIMUM_VERSION
storage.mysql.tls.minimum_versionAUTHELIA_STORAGE_MYSQL_TLS_MINIMUM_VERSION
storage.mysql.tls.server_nameAUTHELIA_STORAGE_MYSQL_TLS_SERVER_NAME
storage.mysql.tls.skip_verifyAUTHELIA_STORAGE_MYSQL_TLS_SKIP_VERIFY
storage.mysql.usernameAUTHELIA_STORAGE_MYSQL_USERNAME
storage.postgres.addressAUTHELIA_STORAGE_POSTGRES_ADDRESS
storage.postgres.databaseAUTHELIA_STORAGE_POSTGRES_DATABASE
storage.postgres.schemaAUTHELIA_STORAGE_POSTGRES_SCHEMA
storage.postgres.timeoutAUTHELIA_STORAGE_POSTGRES_TIMEOUT
storage.postgres.tls.maximum_versionAUTHELIA_STORAGE_POSTGRES_TLS_MAXIMUM_VERSION
storage.postgres.tls.minimum_versionAUTHELIA_STORAGE_POSTGRES_TLS_MINIMUM_VERSION
storage.postgres.tls.server_nameAUTHELIA_STORAGE_POSTGRES_TLS_SERVER_NAME
storage.postgres.tls.skip_verifyAUTHELIA_STORAGE_POSTGRES_TLS_SKIP_VERIFY
storage.postgres.usernameAUTHELIA_STORAGE_POSTGRES_USERNAME
telemetry.metrics.addressAUTHELIA_TELEMETRY_METRICS_ADDRESS
telemetry.metrics.buffers.readAUTHELIA_TELEMETRY_METRICS_BUFFERS_READ
telemetry.metrics.buffers.writeAUTHELIA_TELEMETRY_METRICS_BUFFERS_WRITE
telemetry.metrics.enabledAUTHELIA_TELEMETRY_METRICS_ENABLED
telemetry.metrics.timeouts.idleAUTHELIA_TELEMETRY_METRICS_TIMEOUTS_IDLE
telemetry.metrics.timeouts.readAUTHELIA_TELEMETRY_METRICS_TIMEOUTS_READ
telemetry.metrics.timeouts.writeAUTHELIA_TELEMETRY_METRICS_TIMEOUTS_WRITE
themeAUTHELIA_THEME
totp.algorithmAUTHELIA_TOTP_ALGORITHM
totp.allowed_algorithmsAUTHELIA_TOTP_ALLOWED_ALGORITHMS
totp.allowed_digitsAUTHELIA_TOTP_ALLOWED_DIGITS
totp.allowed_periodsAUTHELIA_TOTP_ALLOWED_PERIODS
totp.digitsAUTHELIA_TOTP_DIGITS
totp.disableAUTHELIA_TOTP_DISABLE
totp.disable_reuse_security_policyAUTHELIA_TOTP_DISABLE_REUSE_SECURITY_POLICY
totp.issuerAUTHELIA_TOTP_ISSUER
totp.periodAUTHELIA_TOTP_PERIOD
totp.secret_sizeAUTHELIA_TOTP_SECRET_SIZE
totp.skewAUTHELIA_TOTP_SKEW
webauthn.attestation_conveyance_preferenceAUTHELIA_WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE
webauthn.disableAUTHELIA_WEBAUTHN_DISABLE
webauthn.display_nameAUTHELIA_WEBAUTHN_DISPLAY_NAME
webauthn.enable_passkey_loginAUTHELIA_WEBAUTHN_ENABLE_PASSKEY_LOGIN
webauthn.experimental_enable_passkey_upgradeAUTHELIA_WEBAUTHN_EXPERIMENTAL_ENABLE_PASSKEY_UPGRADE
webauthn.experimental_enable_passkey_uv_two_factorsAUTHELIA_WEBAUTHN_EXPERIMENTAL_ENABLE_PASSKEY_UV_TWO_FACTORS
webauthn.filtering.prohibit_backup_eligibilityAUTHELIA_WEBAUTHN_FILTERING_PROHIBIT_BACKUP_ELIGIBILITY
webauthn.metadata.enabledAUTHELIA_WEBAUTHN_METADATA_ENABLED
webauthn.metadata.validate_entryAUTHELIA_WEBAUTHN_METADATA_VALIDATE_ENTRY
webauthn.metadata.validate_entry_permit_zero_aaguidAUTHELIA_WEBAUTHN_METADATA_VALIDATE_ENTRY_PERMIT_ZERO_AAGUID
webauthn.metadata.validate_statusAUTHELIA_WEBAUTHN_METADATA_VALIDATE_STATUS
webauthn.metadata.validate_status_permittedAUTHELIA_WEBAUTHN_METADATA_VALIDATE_STATUS_PERMITTED
webauthn.metadata.validate_status_prohibitedAUTHELIA_WEBAUTHN_METADATA_VALIDATE_STATUS_PROHIBITED
webauthn.metadata.validate_trust_anchorAUTHELIA_WEBAUTHN_METADATA_VALIDATE_TRUST_ANCHOR
webauthn.selection_criteria.attachmentAUTHELIA_WEBAUTHN_SELECTION_CRITERIA_ATTACHMENT
webauthn.selection_criteria.discoverabilityAUTHELIA_WEBAUTHN_SELECTION_CRITERIA_DISCOVERABILITY
webauthn.selection_criteria.user_verificationAUTHELIA_WEBAUTHN_SELECTION_CRITERIA_USER_VERIFICATION
webauthn.timeoutAUTHELIA_WEBAUTHN_TIMEOUT