/
CustomLoginSuccessHandler.java
25 lines (20 loc) · 1.09 KB
/
CustomLoginSuccessHandler.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.mang.example.security.handler;
import com.mang.example.security.app.user.domain.MyUserDetails;
import com.mang.example.security.app.user.domain.User;
import com.mang.example.security.constants.AuthConstants;
import com.mang.example.security.utils.TokenUtils;
import lombok.extern.log4j.Log4j2;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Log4j2
public class CustomLoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler {
@Override
public void onAuthenticationSuccess(final HttpServletRequest request, final HttpServletResponse response,
final Authentication authentication) {
final User user = ((MyUserDetails) authentication.getPrincipal()).getUser();
final String token = TokenUtils.generateJwtToken(user);
response.addHeader(AuthConstants.AUTH_HEADER, AuthConstants.TOKEN_TYPE + " " + token);
}
}