OIDC-аутентификация
DashLit поддерживает вход через OpenID Connect, например с помощью Pocket ID. Парольный вход можно оставить как запасной вариант или отключить после проверки OIDC.
Настройка провайдера
Создайте OIDC-клиент и укажите callback:
https://dash.example.com/api/auth/oidc/callbackПередайте DashLit issuer, client ID, client secret и совпадающий redirect URL:
OIDC_ISSUER=https://id.example.com
OIDC_CLIENT_ID=dashlit
OIDC_CLIENT_SECRET=provider-issued-secret
OIDC_REDIRECT_URL=https://dash.example.com/api/auth/oidc/callback
OIDC_BUTTON_TITLE=Войти через Pocket IDПерезапустите контейнер и проверьте вход через OIDC до отключения пароля.
Самоподписанные сертификаты
Предпочтительный вариант для локального OIDC-провайдера — сертификат от центра сертификации, которому доверяет хост или контейнер DashLit. Если настроить доверие к CA невозможно, проверку TLS-сертификата можно отключить явно:
OIDC_INSECURE_SKIP_TLS_VERIFY=trueПараметр действует на discovery, обмен authorization code и загрузку ключей подписи. Соединение становится уязвимым для подмены сервера, поэтому оставляйте значение false в публичных и недоверенных сетях. При включении DashLit записывает предупреждение в лог.
Создание пользователей
При DISABLE_OIDC_REGISTRATION=false неизвестный OIDC-профиль создаёт пользователя DashLit. Если база пуста, этот пользователь становится первым администратором, как и при обычной регистрации.
Установите DISABLE_OIDC_REGISTRATION=true, если пользователей необходимо заранее создавать в DashLit.
Связывание аккаунтов
По умолчанию входящий OIDC-профиль связывается с парольным аккаунтом с таким же нормализованным именем. Существующий аккаунт сохраняет пароль и получает возможность входа через OIDC.
DISABLE_OIDC_USER_MERGE=true запрещает автоматическое связывание. При конфликте новый пользователь получает числовой суффикс, например alex-2.
Отключение пароля
После успешной проверки OIDC задайте:
DISABLE_PASSWORD_LOGIN=trueПараметр применяется только при полной конфигурации OIDC. Если issuer или client ID отсутствует, парольный вход сохраняется как способ восстановления.
Устранение проблем
- Проверьте точность issuer URL и его доступность из контейнера.
- Убедитесь, что callback у провайдера полностью совпадает с
OIDC_REDIRECT_URL. - Передавайте исходный хост и протокол через обратный прокси.
- Синхронизируйте системные часы сервера: проверка токенов зависит от времени.
- Не отключайте пароль до успешной проверки полного redirect flow.
- Для самоподписанного сертификата предпочтительно установить его CA; используйте
OIDC_INSECURE_SKIP_TLS_VERIFY=trueтолько в доверенной локальной сети.