2016-09-30 3 views
0

보안을 위해 keycloak을 사용하는 기본 예제 스프링 부트 사이트를 설정하려고합니다.keycloak 용 스프링 부트 퀵 스타트를 어떻게 구성합니까?

compile("org.keycloak:keycloak-spring-boot-adapter:2.2.1.Final") 
compile("org.keycloak:keycloak-tomcat8-adapter:2.2.1.Final") 
: 나는 ( gradlew bootRun) https://spring.io/guides/gs/serving-web-content/ ( https://github.com/spring-guides/gs-serving-web-content.git)에서 '전체'의 예는
  • 이 프로젝트의 Gradle을 의존성에 다음을 추가 작동하는지 확인하려면 다음

    • 는 복제 완료 및 실행 한
    • 는 다음 사항 넣어 설정/application.yml :

      spring: 
          profiles: default 
      
      server.port: 8090 
      
      keycloak: 
          securityConstraints: 
           - securityCollections: 
           - name: application section 
            authRoles: 
             - user 
            patterns: 
             -/
          realm: stl 
          realmKey: MIIBIjANBgkqh[etc...] 
          auth-server-url: http://localhost:8280/auth 
          ssl-required: none 
          resource: example-ui 
          credentials: 
           secret: a117[etc...] 
      

    이 단계를 통해 나는 https://keycloak.gitbooks.io/securing-client-applications-guide/content/v/2.2/topics/oidc/java/spring-boot-adapter.html의 모든 지시를 따랐다 고 생각합니다. 하지만 이제 응용 프로그램을 탐색하려고하면 오류가 발생합니다. 콘솔에 기록되는 내용은 다음과 같습니다. No login page was defined for FORM authentication in context []

    이 응용 프로그램의 구성을 완료하려면 무엇이 누락 되었습니까? 다른 키 클로크 어댑터의 이전 버전에 대한 이전의 경험으로 볼 때 어쨌든 KEYCLOAK의 인증 방법을 지정해야 할 것으로 예상되지만, 실제로 어디서나 실행되는 경우 스프링 부트가 어디로 갈지는 알 수 없습니다.

  • 답변

    3

    여기에도 같은 문제가 있지만, 스프링 부트 1.4.0에서 1.4.1로 업그레이드 한 경우에만 해당됩니다. 그들은 8.5.4에서 8.5.5로 tomcat 버전을 전달했습니다. 그리고 GET을 제외한 모든 요청이 작동합니다. GET은 "당신이 말한 것처럼"컨텍스트 []에서 FORM 인증을위한 로그인 페이지가 정의되지 않았습니다. "라는 메시지와 함께 작동하지 않습니다.

    나를 위해 트릭은 바람둥이의 버전을 않았다 다운 그레이드 :

    <tomcat.version>8.5.4</tomcat.version> 
    

    누군가에 무슨 일이 일어나고 있는지 알 수 있습니까?

    관련 문제