2016-09-30 183 views
0

我想设置一个基本的示例spring启动站点,它使用keycloak来实现安全性。我也做了以下如何为keycloak配置spring boot quickstart?

  • 克隆就跑(gradlew bootRun)从https://spring.io/guides/gs/serving-web-content/https://github.com/spring-guides/gs-serving-web-content.git)的“完整”例如,以验证它的工作原理
  • 添加以下到项目的gradle这个依赖关系:

    compile("org.keycloak:keycloak-spring-boot-adapter:2.2.1.Final") 
    compile("org.keycloak:keycloak-tomcat8-adapter:2.2.1.Final") 
    
  • 把下面的配置/ 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适配器的使用经验来看,我希望在某处指定一个认证方法KEYCLOAK,但我不知道在春季启动的情况下,如果确实会在任何地方出现问题,那么它将在何处发生。

回答

3

同样的问题在这里,但它只是当我从春季启动1.4.0升级到1.4.1。 他们已经将tomcat的版本通过了8.5.4到8.5.5。除GET之外的每个请求都在工作,只有GET不能像上面说的那样在消息“上下文[]中没有为FORM认证定义登录页面”。

降级Tomcat版本为我做的伎俩:

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

有人能知道这是怎么回事?

相关问题