Я запускаю Keycloak с помощью docker compose, вот мой файл:
version: '2'
services:
keycloak:
image: jboss/keycloak:4.8.3.Final
command: ["-b", "0.0.0.0", "-Dkeycloak.migration.action=import", "-Dkeycloak.migration.provider=dir", "-Dkeycloak.migration.dir=/opt/jboss/keycloak/realm-config", "-Dkeycloak.migration.strategy=OVERWRITE_EXISTING", "-Djboss.socket.binding.port-offset=1000"]
volumes:
- ./realm-config:/opt/jboss/keycloak/realm-config
environment:
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
- DB_VENDOR=h2
ports:
- 9080:9080
- 9443:9443
- 10990:10990
Затем я запускаю реестр таким же образом, с этим конфигом:
version: '2'
services:
jhipster-registry:
image: jhipster/jhipster-registry:v4.1.1
volumes:
- ./central-server-config:/central-config
# When run with the "dev" Spring profile, the JHipster Registry will
# read the config from the local filesystem (central-server-config directory)
# When run with the "prod" Spring profile, it will read the configuration from a Git repository
# See https://www.jhipster.tech/microservices-architecture/#registry_app_configuration
environment:
- _JAVA_OPTIONS=-Xmx512m -Xms256m
- SPRING_PROFILES_ACTIVE=dev,swagger,oauth2
- SPRING_SECURITY_USER_PASSWORD=admin
- JHIPSTER_REGISTRY_PASSWORD=admin
- SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_TYPE=native
- SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_SEARCH_LOCATIONS=file:./central-config/localhost-config/
# - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_TYPE=git
# - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_URI=https://github.com/jhipster/jhipster-registry/
# - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_SEARCH_PATHS=central-config
# For keycloak to work, you need to add '127.0.0.1 keycloak' to your hosts file
- SECURITY_OAUTH2_CLIENT_ACCESS_TOKEN_URI=http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/token
- SECURITY_OAUTH2_CLIENT_USER_AUTHORIZATION_URI=http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/auth
- SECURITY_OAUTH2_CLIENT_CLIENT_ID=jhipster-registry
- SECURITY_OAUTH2_CLIENT_CLIENT_SECRET=jhipster-registry
- SECURITY_OAUTH2_RESOURCE_USER_INFO_URI=http://localhost:9080/auth/realms/jhipster/protocol/openid-connect/userinfo
ports:
- 8761:8761
Теперь, когда я открываю этот URL: http://localhost:8761, Я перенаправляю на страницу входа в Keycloak, после успешного входа я получил Несанкционированная ошибка!
Что я пропустил?
Я прочитал этот вопрос но я не установил SSL и работаю на localhost.
Я нашел проблему и решение!Из-за этого я использовал http://localhost:9080/,, действительно, я должен добавить блокировку ключа в мой локальный файл / etc / hosts (127.0.0.1 localhost keycloak) и добавить http://keycloak:9080/ в файл составления реестра Docker, после того, какчто все работает нормально.
Я использовал докер реестра Jhipster и каждый раз, когда он проверял токен, он отправлял запрос своему локальному хосту!поэтому запросы не прошли, и я не смог войти.