Для сложных сценариев можно использовать YAML-конфиг вместо переменных окружения или вместе с ними. Переменные окружения имеют приоритет.
Расположение
По умолчанию Versola ищет versola.yaml в рабочей директории. Можно указать путь явно:
versola --config /etc/versola/versola.yaml
Структура файла
server:
port: 8080
issuer: https://id.example.com
database:
url: postgres://versola:secret@localhost:5432/versola
tokens:
access_token_ttl: 3600
refresh_token_ttl: 2592000
id_token_ttl: 3600
signing_algorithm: RS256 # RS256 или ES256
cors:
origins:
- https://app.example.com
- https://admin.example.com
logging:
level: info
format: json # json или text
Алгоритмы подписи токенов
| Алгоритм | Тип | Рекомендуется |
|---|---|---|
RS256 |
RSA + SHA-256 | Да, по умолчанию |
ES256 |
ECDSA + SHA-256 | Да, более компактные ключи |
HS256 |
HMAC + SHA-256 | Только для тестирования |
При использовании RS256 или ES256 Versola автоматически генерирует ключевую пару при первом запуске и сохраняет в базе данных.