|
@@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
|
|
|
+import org.springframework.security.core.context.SecurityContext;
|
|
|
|
|
+import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
import org.springframework.security.core.userdetails.User;
|
|
import org.springframework.security.core.userdetails.User;
|
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
@@ -67,6 +69,18 @@ public class AuthService implements UserDetailsService {
|
|
|
return buildResponse(user, authentication);
|
|
return buildResponse(user, authentication);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public AuthenticationResponse refresh(ApplicationUser applicationUser) {
|
|
|
|
|
+ if (!applicationUser.isActive()) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ ApplicationUser user = service.findByUsername(applicationUser.getUsername());
|
|
|
|
|
+ Authentication authentication = jwtService.generateToken(user);
|
|
|
|
|
+ user.setLastLoginAt(now());
|
|
|
|
|
+ service.update(user.getId(), user);
|
|
|
|
|
+ return buildResponse(user, authentication);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public AuthenticationResponse changePassword(String userId, String currentPassword, String newPassword) {
|
|
public AuthenticationResponse changePassword(String userId, String currentPassword, String newPassword) {
|
|
|
ApplicationUser user = service.changePassword(userId, currentPassword, newPassword, passwordEncoder);
|
|
ApplicationUser user = service.changePassword(userId, currentPassword, newPassword, passwordEncoder);
|
|
|
Authentication authentication = jwtService.generateToken(user);
|
|
Authentication authentication = jwtService.generateToken(user);
|