450 lines
8.3 KiB
JSON
450 lines
8.3 KiB
JSON
|
|
{
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"listen_address": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "0.0.0.0"
|
||
|
|
},
|
||
|
|
"domain": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"session_domain": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"redirect_url": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"jwt_secret": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"session_secret": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"storage_encryption_key": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"users_file_path": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "/var/authelia/users.yml"
|
||
|
|
},
|
||
|
|
"log_file_path": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "/var/authelia/log.jsonl"
|
||
|
|
},
|
||
|
|
"storage": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"kind": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["sqlite"],
|
||
|
|
"default": "sqlite"
|
||
|
|
},
|
||
|
|
"data": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"path": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "/var/authelia/state.db"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"path"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"kind",
|
||
|
|
"data"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"kind": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["postgresql"]
|
||
|
|
},
|
||
|
|
"data": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"host": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"ddefault": "localhost"
|
||
|
|
},
|
||
|
|
"port": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "integer",
|
||
|
|
"default": 5432
|
||
|
|
},
|
||
|
|
"username": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "authelia_user"
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"schema": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "authelia"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"host",
|
||
|
|
"port",
|
||
|
|
"username",
|
||
|
|
"password",
|
||
|
|
"schema"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"kind",
|
||
|
|
"data"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"kind": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["mariadb"]
|
||
|
|
},
|
||
|
|
"data": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"host": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"ddefault": "localhost"
|
||
|
|
},
|
||
|
|
"port": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "integer",
|
||
|
|
"default": 3306
|
||
|
|
},
|
||
|
|
"username": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "authelia_user"
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"schema": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "authelia"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"host",
|
||
|
|
"port",
|
||
|
|
"username",
|
||
|
|
"password",
|
||
|
|
"schema"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"kind",
|
||
|
|
"data"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"ntp_server": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "time.cloudflare.com:123"
|
||
|
|
},
|
||
|
|
"password_reset": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"enabled": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "boolean",
|
||
|
|
"default": false
|
||
|
|
},
|
||
|
|
"custom_url": {
|
||
|
|
"nullable": true,
|
||
|
|
"type": "string",
|
||
|
|
"default": null
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"enabled",
|
||
|
|
"custom_url"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"notification": {
|
||
|
|
"anyOf": [
|
||
|
|
{
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"kind": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["file"],
|
||
|
|
"default": "file"
|
||
|
|
},
|
||
|
|
"data": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"path": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "/var/authelia/notifications"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"path"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"kind",
|
||
|
|
"data"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"kind": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"enum": ["smtp"],
|
||
|
|
"default": "smtp"
|
||
|
|
},
|
||
|
|
"data": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"host": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"port": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "integer",
|
||
|
|
"default": 465
|
||
|
|
},
|
||
|
|
"username": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "authelia"
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"sender": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "authelia@example.org"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"host",
|
||
|
|
"port",
|
||
|
|
"username",
|
||
|
|
"password",
|
||
|
|
"sender"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"kind",
|
||
|
|
"data"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"oidc": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"hmac_secret": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"lifespan": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"default": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"access_token": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "1h"
|
||
|
|
},
|
||
|
|
"refresh_token": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"default": "1m"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"custom": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
},
|
||
|
|
"additionalProperties": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"access_token": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"refresh_token": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"access_token",
|
||
|
|
"refresh_token"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"required": [
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
"long": {
|
||
|
|
"access_token": "2d",
|
||
|
|
"refresh_token": "3d"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cors_endpoints": {
|
||
|
|
"nullable": true,
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"nullable": false,
|
||
|
|
"type": "string",
|
||
|
|
"enum": [
|
||
|
|
"authorization",
|
||
|
|
"pushed-authorization-request",
|
||
|
|
"token",
|
||
|
|
"revocation",
|
||
|
|
"introspection",
|
||
|
|
"userinfo"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"default": [
|
||
|
|
"authorization",
|
||
|
|
"token",
|
||
|
|
"revocation",
|
||
|
|
"introspection",
|
||
|
|
"userinfo"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"hmac_secret",
|
||
|
|
"lifespan",
|
||
|
|
"cors_endpoints"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"additionalProperties": false,
|
||
|
|
"required": [
|
||
|
|
"listen_address",
|
||
|
|
"domain",
|
||
|
|
"session_domain",
|
||
|
|
"redirect_url",
|
||
|
|
"jwt_secret",
|
||
|
|
"session_secret",
|
||
|
|
"storage_encryption_key",
|
||
|
|
"users_file_path",
|
||
|
|
"log_file_path",
|
||
|
|
"storage",
|
||
|
|
"ntp_server",
|
||
|
|
"notification",
|
||
|
|
"oidc"
|
||
|
|
],
|
||
|
|
"default": {
|
||
|
|
}
|
||
|
|
}
|