48 lines
1.9 KiB
Bash
Executable File
48 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
||
# Скрипт проверки конфигурации Authentik
|
||
|
||
cd /home/its/iiEasyWeb
|
||
|
||
echo "=== Проверка конфигурации Authentik ==="
|
||
echo ""
|
||
|
||
# Проверка .env
|
||
echo "1. Проверка .env файла:"
|
||
if grep -q "ii-easy-web" .env; then
|
||
echo " ✓ OPENID_CONNECT_ISSUER содержит правильный slug: ii-easy-web"
|
||
grep "OPENID_CONNECT_ISSUER" .env
|
||
else
|
||
echo " ✗ OPENID_CONNECT_ISSUER не содержит правильный slug"
|
||
echo " Текущее значение:"
|
||
grep "OPENID_CONNECT_ISSUER" .env
|
||
fi
|
||
|
||
echo ""
|
||
echo "2. Проверка endpoint Authentik:"
|
||
ENDPOINT=$(grep "OPENID_CONNECT_ISSUER" .env | cut -d'=' -f2).well-known/openid-configuration
|
||
echo " URL: $ENDPOINT"
|
||
|
||
RESPONSE=$(curl -s "$ENDPOINT" 2>&1)
|
||
if echo "$RESPONSE" | grep -q '"issuer"'; then
|
||
echo " ✓ Endpoint доступен и возвращает JSON"
|
||
echo "$RESPONSE" | python3 -c "import sys, json; d=json.load(sys.stdin); print(' Issuer:', d.get('issuer'))" 2>/dev/null || echo " JSON валидный"
|
||
else
|
||
echo " ✗ Endpoint недоступен или возвращает ошибку"
|
||
echo " Ответ: $(echo "$RESPONSE" | head -3)"
|
||
fi
|
||
|
||
echo ""
|
||
echo "3. Проверка переменных окружения в docker-compose.yml:"
|
||
echo " OPENID_PROVIDER_URL будет: ${ENDPOINT}"
|
||
echo " OPENID_REDIRECT_URI будет: $(grep DOMAIN_OPENWEBUI .env | cut -d'=' -f2)/oauth/oidc/callback"
|
||
|
||
echo ""
|
||
echo "4. Что проверить в Authentik:"
|
||
echo " - Application slug должен быть: ii-easy-web"
|
||
echo " - Redirect URI должен быть: $(grep DOMAIN_OPENWEBUI .env | cut -d'=' -f2)/oauth/oidc/callback"
|
||
echo " - Client ID должен совпадать с OAUTH_CLIENT_ID в .env"
|
||
|
||
echo ""
|
||
echo "5. Для применения изменений выполните:"
|
||
echo " sudo docker compose restart open-webui"
|