Keycloak 22.0.3通过UI为新创建用户设置密码时报错,但实际可登录的异常问题求助
Keycloak 22.0.3通过UI为新创建用户设置密码时报错,但实际可登录的异常问题求助
我部署的Keycloak遇到了一个奇怪的问题:当我通过UI创建纯Keycloak本地用户(没有集成LDAP)并尝试设置密码时,操作会失败并弹出错误提示。但奇怪的是,容器日志和数据库里完全找不到相关错误信息,我完全摸不着头绪。
下面是我的Docker Compose配置(已将真实URL替换为MY-URL):
version: "3.9" services: keycloak: image: quay.io/keycloak/keycloak:22.0.3 restart: "always" environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: ${ADMIN_PASSWORD} KC_HOSTNAME_ADMIN_URL: MY_URL KC_HOSTNAME_STRICT: false #KC_HOSTNAME_PORT: 443 KC_HOSTNAME_STRICT_HTTPS: false KC_PROXY: edge PROXY_ADDRESS_FORWARDING: true volumes: - /home/lyxas/certs:/etc/certs labels: - "traefik.enable=true" - "traefik.docker.network=traefik_public" # HTTP - "traefik.http.routers.keycloak-http.entryPoints=http" - "traefik.http.routers.keycloak-http.rule=Host(`MY_URL`)" - "traefik.http.middlewares.keycloak-redirect-https.redirectscheme.scheme=https" - "traefik.http.routers.keycloak-http.middlewares=keycloak-redirect-https" # HTTPS - "traefik.http.routers.keycloak-https.entrypoints=https" - "traefik.http.routers.keycloak-https.rule=Host(`MY_URL`)" - "traefik.http.routers.keycloak-https.tls=true" - "traefik.http.services.keycloak-https.loadbalancer.server.port=8080" - "traefik.http.routers.keycloak-https.service=keycloak-https" - traefik.http.routers.keycloak-https.middlewares=waf@docker command: "start --hostname=MY_URL --db=postgres --features=token-exchange --db-url=jdbc:postgresql://db:5432/${DATABASE_DATABASE} --db-username=${DATABASE_USER} --db-password=${DATABASE_PASSWORD} --https-key-store-file=/etc/certs/MY_URL-keystore.jks --https-key-store-password=${KEYSTORE_PASSWORD} --http-enabled=true --log-level=debug" networks: - keycloak - traefik-network db: image: postgres:16.0-alpine3.18 restart: always environment: POSTGRES_PASSWORD: '${DATABASE_PASSWORD}' POSTGRES_USER: '${DATABASE_USER}' POSTGRES_DB: ${DATABASE_DATABASE} TZ: 'Europe/Paris' PGTZ: 'Europe/Paris' command: [ "postgres", "-c", "log_statement=all" ] networks: - keycloak volumes: - '/home/lyxas/docker_data/keycloak/db:/var/lib/postgresql/data' networks: keycloak: traefik-network: external: name: traefik_public
目前Keycloak容器和数据库的通信看起来是正常的,我的Docker版本是24.0.5, build ced0996。
设置密码报错后,我刷新了UI页面,尝试用这个创建好的用户登录,一开始发现登录失败,但后来我发现——虽然设置密码时显示错误,但实际上密码已经生效了,我可以正常用该用户登录。
我已经尝试过把日志级别调到debug,但还是找不到任何相关错误信息;也试过降级Keycloak到21.1.2版本,结果还是遇到同样的问题。
有没有人遇到过类似的情况?恳请大家帮忙分析一下问题所在,谢谢!
备注:内容来源于stack exchange,提问作者Lyxas
相关产品推荐
相关产品推荐

