[keycloak-user] Keycloak redirects me to my index url instead of to the requested one

Aritz Maeztu amaeztu at tesicnor.com
Thu Nov 5 06:55:04 EST 2015


StackOverflow link to the question 
<http://stackoverflow.com/questions/33543672/keycloak-redirects-me-to-my-index-url-instead-of-to-the-requested-one>

I'm using Keycloak server (v 1.5.1) to perform an open-id-connect like 
authentication to my service. I've set up a basic web application which 
has two urls, the */index.html* one and other one called /hello. I use 
Spring security, Spring boot and Spring MVC for all of that. That's my 
pom.xml configuration:


     <?xml version="1.0" encoding="UTF-8"?>
     <project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>

         <groupId>com.keycloaktes</groupId>
         <artifactId>keycloaktes</artifactId>
         <version>0.0.1-SNAPSHOT</version>
         <packaging>jar</packaging>

         <name>demo</name>
         <description>Demo project for Spring Boot</description>

         <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
             <version>1.2.7.RELEASE</version>
             <relativePath />
         </parent>

         <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
             <java.version>1.7</java.version>
         </properties>

         <dependencies>
             <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
             </dependency>

             <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
             </dependency>

             <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
                 <scope>test</scope>
             </dependency>

             <dependency>
                 <groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-security-adapter</artifactId>
                 <version>1.5.1.Final</version>
             </dependency>

             <dependency>
                 <groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat8-adapter</artifactId>
                 <version>1.5.1.Final</version>
             </dependency>

         </dependencies>


         <build>
             <plugins>
                 <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
                 </plugin>
             </plugins>
         </build>


     </project>

The issue comes when I address to /hello url when not logged in, the 
keycloak login screen shows properly, but instead of performing a 
redirection to /hello after successful login, it does it to my 
/index.html page. That's how I've configured the security adapter:


<!-- language: lang-java -->

     @Configuration
     @EnableWebSecurity
     @ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
     public class SecurityConfig extends 
KeycloakWebSecurityConfigurerAdapter {

         @Autowired
         public void configureGlobal(AuthenticationManagerBuilder auth)
                 throws Exception {
auth.authenticationProvider(keycloakAuthenticationProvider());
         }

         /**
          * Defines the session authentication strategy.
          */
         @Bean
         @Override
         protected SessionAuthenticationStrategy 
sessionAuthenticationStrategy() {
             return new RegisterSessionAuthenticationStrategy(
                     new SessionRegistryImpl());
         }

         @Bean
         public FilterRegistrationBean 
keycloakAuthenticationProcessingFilterRegistrationBean(
                 KeycloakAuthenticationProcessingFilter filter) {
             FilterRegistrationBean registrationBean = new 
FilterRegistrationBean(
                     filter);
             registrationBean.setEnabled(false);
             return registrationBean;
         }

         @Bean
         public FilterRegistrationBean 
keycloakPreAuthActionsFilterRegistrationBean(
                 KeycloakPreAuthActionsFilter filter) {
             FilterRegistrationBean registrationBean = new 
FilterRegistrationBean(
                     filter);
             registrationBean.setEnabled(false);
             return registrationBean;
         }

         @Override
         protected void configure(HttpSecurity http) throws Exception {
             super.configure(http);
http.authorizeRequests().antMatchers("/*").hasRole("ADMIN")
                     .anyRequest().permitAll();
             http.csrf().disable();
         }
     }

I've been trying enabling both the 
`KeycloakAuthenticationProcessingFilter` and 
`KeycloakPreAuthActionsFilter`, but result keeps the same. Does anybody 
know how to solve the issue?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20151105/b21da7c1/attachment.html 


More information about the keycloak-user mailing list