package com.worktajm.security.social; import com.worktajm.config.JHipsterProperties; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.social.connect.Connection; import org.springframework.social.connect.web.SignInAdapter; import org.springframework.web.context.request.NativeWebRequest; import javax.inject.Inject; public class CustomSignInAdapter implements SignInAdapter { @Inject private UserDetailsService userDetailsService; @Inject private JHipsterProperties jHipsterProperties; @Override public String signIn(String userId, Connection<?> connection, NativeWebRequest request) { UserDetails user = userDetailsService.loadUserByUsername(userId); Authentication newAuth = new UsernamePasswordAuthenticationToken( user, null, user.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(newAuth); return jHipsterProperties.getSocial().getRedirectAfterSignIn(); } }