4.6 KiB
4.6 KiB
Настройка Authentik для Open WebUI
Проблема: Internal Server Error при входе через Authentik
Диагностика
-
Проверьте доступность Authentik:
curl -I https://auth.iieasy.ru -
Проверьте OpenID endpoint:
# Правильный путь для Authentik: curl https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration -
Проверьте логи Open WebUI:
sudo docker compose logs open-webui | grep -i "auth\|oidc\|oauth\|error"
Правильная настройка Authentik
Шаг 1: Создание OIDC Provider в Authentik
-
Войдите в Authentik:
https://auth.iieasy.ru -
Перейдите в Providers → Add Provider
-
Выберите OpenID Connect / OAuth2 / OAuth2 with OpenID Connect
-
Заполните:
- Name:
Open WebUI(или любое имя) - Authorization flow: Выберите существующий flow
- Redirect URIs:
https://odo.iieasy.ru/oauth/oidc/callback - Client type:
Confidential - Client ID: Запомните этот ID
- Client Secret: Запомните этот секрет
- Name:
-
Сохраните Provider
Шаг 2: Создание Application в Authentik
- Перейдите в Applications → Add Application
- Заполните:
- Name:
Open WebUI - Slug:
open-webui(это важно для URL!) - Provider: Выберите созданный Provider
- Name:
- Сохраните Application
Шаг 3: Проверка правильного URL
После создания Application, правильный URL будет:
https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration
Где open-webui - это slug из Application.
Шаг 4: Обновление .env
В файле .env убедитесь, что:
OPENID_CONNECT_ISSUER=https://auth.iieasy.ru/application/o/open-webui/
ВАЖНО:
- URL должен заканчиваться на
/ - Slug (
open-webui) должен совпадать с slug в Authentik Application - После
/application/o/идет slug, затем/
Шаг 5: Проверка переменных в docker-compose.yml
В docker-compose.yml используется:
OPENID_PROVIDER_URL=${OPENID_CONNECT_ISSUER}.well-known/openid-configuration
Это создаст полный URL:
https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configuration
Шаг 6: Перезапуск контейнера
cd /home/its/iiEasyWeb
sudo docker compose restart open-webui
Временное решение: Включить форму входа
Если Authentik не работает, временно включите форму входа:
В docker-compose.yml измените:
- ENABLE_LOGIN_FORM=true # Временно включено
- ENABLE_OAUTH_SIGNUP=false # Временно отключено
Затем перезапустите:
sudo docker compose restart open-webui
Проверка конфигурации
-
Проверьте, что endpoint доступен:
curl https://auth.iieasy.ru/application/o/open-webui/.well-known/openid-configurationДолжен вернуться JSON с конфигурацией OpenID Connect.
-
Проверьте redirect URI в Authentik:
- Должен быть:
https://odo.iieasy.ru/oauth/oidc/callback - Без завершающего слеша
- Должен быть:
-
Проверьте логи:
sudo docker compose logs open-webui --tail 100 | grep -i "oidc\|oauth"
Частые ошибки
404 Not Found на .well-known/openid-configuration
- Проверьте slug в Application (должен быть
open-webui) - Проверьте URL в .env (должен заканчиваться на
/) - Убедитесь, что Application привязан к Provider
Invalid redirect URI
- Проверьте redirect URI в Authentik:
https://odo.iieasy.ru/oauth/oidc/callback - Убедитесь, что домен правильный (без порта, если используете HTTPS)
Internal Server Error
- Проверьте логи Open WebUI
- Убедитесь, что Client ID и Client Secret правильные
- Проверьте, что SSL сертификат валидный для auth.iieasy.ru