keycloak USER_INFO_REQUEST_ERROR if requested from another docker container

Viewed 1142

so I have some containers that work together. this setup is meant as a local development environment for our micro-services . I use keycloak for authentication . this simple request to get user_info

curl -H "Authorization: Bearer TOKEN" http://localhost:8080/auth/realms/main/protocol/openid-connect/userinfo

works if the request was done from my machine"host" to keycloak container but if I do it from any of my API containers to keyclaok it dose not work I have to change the host in the URL from localhost to the container name. and from the logs I think it's something to do the CORS.

those are the logs for the ok call "host->keycloak container"

09:30:27,702 TRACE [org.keycloak.services.resources.Cors] (default task-1) No origin header ignoring
09:30:27,702 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) JtaTransactionWrapper  commit
09:30:27,703 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) JtaTransactionWrapper end
09:30:27,703 TRACE [org.keycloak.connections.jpa.DefaultJpaConnectionProvider] (default task-1) DefaultJpaConnectionProvider close()
09:30:28,129 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) new JtaTransactionWrapper
09:30:28,129 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) was existing? false
09:30:28,129 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) realm by name cache hit: main
09:30:28,129 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) by id cache hit: main
09:30:28,131 TRACE [org.keycloak.keys.DefaultKeyManager] (default task-1) Found key: realm=main kid=0C42WRjTe1IwYWqZIS_ITxm3tKFrTAbztybd6C9b7M0 algorithm=RS256 use=SIG
09:30:28,131 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) client by name cache hit: dashboard
09:30:28,131 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) client by id cache hit: dashboard
09:30:28,132 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) by id cache hit: main
09:30:28,132 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) client by id cache hit: dashboard
09:30:28,132 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) by id cache hit: main
09:30:28,132 DEBUG [org.keycloak.models.sessions.infinispan.InfinispanUserSessionProvider] (default task-1) getUserSessionWithPredicate(540e8e5e-9385-4fd8-924d-f85c752770b4): found in local cache
09:30:28,132 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,132 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) client by id cache hit: dashboard
09:30:28,132 TRACE [org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory] (default task-1) Create JpaConnectionProvider
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) client by id cache hit: dashboard
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,134 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) getuserById 1a14f370-5db2-4b28-b5e7-a4bd5eb68d73
09:30:28,135 TRACE [org.keycloak.models.cache.infinispan.UserCacheSession] (default task-1) return managedusers
09:30:28,136 TRACE [org.keycloak.events] (default task-1) type=USER_INFO_REQUEST, realmId=main, clientId=dashboard, userId=1a14f370-5db2-4b28-b5e7-a4bd5eb68d73, ipAddress=172.18.0.1, auth_method=validate_access_token, signature_required=false, username=salmanadmin, requestUri=http://localhost:8080/auth/realms/main/protocol/openid-connect/userinfo, cookies=[]

and those are for the failed call "api container -> keycloak container"


09:27:23,898 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) JtaTransactionWrapper  commit
09:27:23,898 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) JtaTransactionWrapper end
09:27:25,335 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) new JtaTransactionWrapper
09:27:25,335 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-1) was existing? false
09:27:25,336 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) realm by name cache hit: main
09:27:25,336 TRACE [org.keycloak.models.cache.infinispan.RealmCacheSession] (default task-1) by id cache hit: main
09:27:25,337 TRACE [org.keycloak.keys.DefaultKeyManager] (default task-1) Found key: realm=main kid=0C42WRjTe1IwYWqZIS_ITxm3tKFrTAbztybd6C9b7M0 algorithm=RS256 use=SIG
09:27:25,337 TRACE [org.keycloak.events] (default task-1) type=USER_INFO_REQUEST_ERROR, realmId=main, clientId=null, userId=null, ipAddress=172.18.0.9, error=invalid_token, auth_method=validate_access_token, requestUri=http://keycloak:8080/auth/realms/main/protocol/openid-connect/userinfo, cookies=[]

my docker-complose.yml looks somthing like this

version: "3"

services:
  db:
    ports:
      - "5439:5432"
    image: postgres
    volumes:
      - ./postgres/:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: ****
      POSTGRES_DB: keycloak

  keycloak:
    build:
      context: ../at_keycloak
      dockerfile: Dockerfile
    environment:
      DB_VENDOR: POSTGRES
      DB_ADDR: db
      DB_DATABASE: keycloak
      DB_USER: postgres
      DB_SCHEMA: public
      DB_PASSWORD: ****
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
      KEYCLOAK_LOGLEVEL: ALL
      # ROOT_LOGLEVEL: ALL
    ports:
      - 8080:8080
    depends_on:
      - db

  at_core_backend:
    restart: unless-stopped
    depends_on:
      - keycloak
      - db
    ports:
      - "3000:3000"
    environment:
      KEYCLOAK_SERVER_URL: http://keycloak:8080/auth/

0 Answers
Related