fix: add kubernetes OIDC client to realm config #214
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/kubernetes-oidc-client"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
kubernetesOIDC client (Phase 15) to realm-configmap.yamldirect-grant-no-otpauth flow for CLI/headless password grantTest plan
AI Code Review
Обзор PR: Добавление Kubernetes OIDC клиента
✅ Хорошие решения
direct-grant-no-otpдля CLI (password grant без OTP)⚠️ Критические проблемы
1. Противоречие конфигурации клиента
client-secretаутентификаторpublicClient: false+ secret, либо удалитьclientAuthenticatorTypeдля публичного2. Отсутствует генерация client secret
secret/k8s/keycloak/kubernetes-client-secret(как для grafana/argocd)3. Недостаточно auth flow executors
direct-grant-no-otpимеет только username/password валидаторыdirect-grant-validate-otpсrequirement: "OPTIONAL"(на случай, если MFA будет включена позже)🔒 Безопасность
4. webOrigins пуст (потенциально)
5. Нет ограничений на scope
openid+groups(без profile/email для API)📋 Минор
Рекомендуемые правки
Добавить в
authenticationFlows:Действие: Запросить правки перед merge. После синхронизации verify kubelogin + RBAC.
Automated review by Claude Haiku | advisory, does not block merge
AI Code Review
K8s Manifest Review — fix/kubernetes-oidc-client
Issues Found
🔴 Critical
Credentials in ConfigMap (2 instances)
$(env:KC_*_PASSWORD)хорош, но — эти переменные должны быть инъектированы в config-cli Pod.KC_INFRA_ADMIN_PASSWORDиKC_INFRA_CLAUDE_PASSWORDв config-cli контейнер? (viaextraEnvVarsSecretилиextraEnvVars?)"$(env:KC_INFRA_ADMIN_PASSWORD)"вместо реального пароля.kubernetes OIDC client — publicClient: true с clientAuthenticatorType: "client-secret"
publicClient: true(уберите secret), либоpublicClient: false(сохраните secret).publicClient: trueбезclientAuthenticatorType.direct-grant-no-otp flow не привязан к клиенту
direct-grant-no-otp."authenticationFlowBindingOverrides": { "direct_grant": "direct-grant-no-otp" }в kubernetes клиент.🟡 Medium
redirectUris — localhost hardcoded
http://localhost:18000/*,http://localhost:8000/*— не будут работать для kubelogin, используется обычноurn:ietf:wg:oauth:2.0:oobили callback.PKCE в attributes без явного включения
"pkce.code.challenge.method": "S256"установлен, но не ясно, требуется ли"pkce.code.challenge.required": true.🟢 Minor
Проверка перед merge
KC_INFRA_ADMIN_PASSWORDиKC_INFRA_CLAUDE_PASSWORD?extraEnvVarsSecret: keycloak-configcli-secretsуже добавлен (строка 48 в diff)?kubeloginс OIDC realm успешно аутентифицируется?Исправления
Остановитесь перед merge — 3 критических точки требуют верификации.
Automated review by Claude Haiku | advisory, does not block merge