0

I am having two spring-boot application with shared session through Redis.. application-1 contains the login flow and application-2 uses the same session created on application-1,

Now i wanted to listen to the successful authentication on application-2.

Tried using InteractiveAuthenticationSuccessEvent listener as below ..

@EventListener({AuthenticationSuccessEvent.class, InteractiveAuthenticationSuccessEvent.class})
public void processAuthenticationSuccessEvent(AbstractAuthenticationEvent  e) {
    logger.info("Autenticación successful ....");
    e.getAuthentication().getName();
} 

Added the below code in securityConfig

@EnableWebSecurity
@Configuration
@Component
@Order
class SecurityConfig extends WebSecurityConfigurerAdapter {

.....

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

@Bean
public DefaultAuthenticationEventPublisher authenticationEventPublisher() {
    return new DefaultAuthenticationEventPublisher();
}

}

But 'InteractiveAuthenticationSuccessEvent' in application-2 is not triggered on authenticating on application-1..

Can someone guide me on this ?

Pradeep Reddy
  • 113
  • 1
  • 1
  • 9

1 Answers1

0

I have used Redis PubSub to resolve my problem by listening to the Authentication Event from Application-1 to Application-2..

Pradeep Reddy
  • 113
  • 1
  • 1
  • 9