Настройка http для весенней загрузки и swagger2 - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь интегрировать свои приложения Sprint Boot с Keycloak, начиная со страницы безопасного чванства.

keytool помог мне создать хранилище ключей с собственной подписью

keytool -genkey -alias abcdef -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650

Я использую выше для настройки ssl для приложения

server:
  port: "15700"
  ssl:
    enabled: true
    key-store: classpath:keystore.p12
    key-store-password: password
    key-alias: abcdef
    keyStoreType: PKCS12

Без keycloak https для чванства работает как положено.

Я запустил keycloak из их образа докера, как показано ниже, экспортировал http и https

services:
  keycloak:
    image: jboss/keycloak
    environment:
      DB_VENDOR: POSTGRES
      DB_ADDR: my.ip.address
      DB_PORT: 5432
      DB_DATABASE: keycloak
      DB_USER: username
      DB_PASSWORD: password
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: password
    ports:
      - 8443:8443
      - 8080:8080

Я прошу пользователя сначала войти в систему, когда он хочет получить доступ к документам swagger, поэтому я настраиваю keycloak, как показано ниже:

keycloak:
   auth-server-url: "https://192.168.1.15:8443/auth"
   realm: "DemoRealm"
   public-client: true
   resource: demo-app
   security-constraints[0]:
     authRoles[0]: "user"
     securityCollections[0]:
       name: "Demo App"
       patterns[0]: "/swagger-ui.html"

Теперь не залогиненный пользователь будет перенаправлен на страницу входа в keycloak, он отлично работает. Но после успешного входа в систему при перенаправлении обратно на страницу приложения, я перехожу к следующей ошибке:

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Если я настрою аутентификацию keycloak на http

keycloak:
   auth-server-url: "http://192.168.1.15:8080/auth"
   realm: "DemoRealm"
   public-client: true
   resource: demo-app
   security-constraints[0]:
     authRoles[0]: "user"
     securityCollections[0]:
       name: "Demo App"
       patterns[0]: "/swagger-ui.html"

все работает отлично.

Это проблема конфигурации для keycloak или для приложения с весенней загрузкой? Любые необходимые шаги, которые я пропустил?

...