So legen Sie die Weiterleitungs-URL nach der erfolgreichen Anmeldung mithilfe von Social Providers fest
Ich muss die Weiterleitungs-URL ändern, wenn mein Benutzer erfolgreich bei einigen Spring Social Providern angemeldet ist, in diesem Fall bei Twitter.
Ich erhalte in jedem Set *** Url ("") eine Nullzeiger-Ausnahme. Manchmal funktioniert dies auch nicht
Ich habe bisher versucht einzustellen:
public ProviderSignInController signInController(ConnectionFactoryLocator connectionFactoryLocator,
UsersConnectionRepository usersConnectionRepository) {
ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator,
usersConnectionRepository,
new CSignInAdapter(requestCache()));
providerSignInController.setPostSignInUrl("/home");
providerSignInController.setApplicationUrl("localhost:8080/home");
return providerSignInController;
}
Ich habe jedes von setPostSignInUrl und setApplicationUrl separat ausprobiert.
Auch versucht:
@Bean
public ConnectController connectController(ConnectionFactoryLocator connectionFactoryLocator,
ConnectionRepository connectionRepository) {
ConnectController connectController = new ConnectController(connectionFactoryLocator, connectionRepository);
connectController.addInterceptor(new TweetAfterConnectInterceptor());
connectController.setApplicationUrl("/home");
return connectController;
}
Ich benutze Spring Social Showcase mit Sicherheit als Basis, um dies zu tun. Im Notfall poste ich die HttpSecurity-Konfiguration:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin()
.loginPage("/signin")
.loginProcessingUrl("/signin/authenticate")
.failureUrl("/signin?param.error=bad_credentials")
.defaultSuccessUrl("/home")
.and()
.csrf()
.and()
.logout()
.logoutUrl("/signout")
.deleteCookies("JSESSIONID")
.and()
.authorizeRequests()
.antMatchers("/admin/**", "/favicon.ico", "/resources/**", "/auth/**", "/signin/**", "/signup/**",
"/disconnect/facebook").permitAll()
, .antMatchers("/**").authenticated()
.and()
.rememberMe()
.and()
.apply(new SpringSocialConfigurer());
}