항해99/스프링 심화

[세션]JWT와 Security 를 활용한 Spring 인증&인가 처리 메모

숲별 2022. 10. 16. 21:59
728x90

시큐리티의 필터라는 개념과 jWT

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {



addFilterBefore
뒤에 걸리는 필터보다 먼저하겠다.

http요청오면 왓스? 톰캣이 http request 객체, servlet, request 객체 만듦
그리고 response 객체도 같이 만듦. 어차피 반환할거니까.
같이 만들어주고 두개를 인자값으로 가져옴.

.getHeader 헤더에서 가져옴.

@SJf4j : 로그 만든다고?
@Component : 빈 만들어줌?
@RequiredArgsConstructor : final 붙은 애들 생성자 만들어 줌.

빈이 등록이 될 때, key 객체에 값을 넣어놔야 해
@PostConstruct : 초기생성, 초기 설정
키 객체값 초기화

byte[] bytes = Base64.getDecoder().decode(secretKey);
key = Keys.hmacShaKeyFor(bytes)



createAllToken
이메일 값을 파라미터로 받아서 처음에 로그인 하면 accessToken이랑 refreshToken이랑 발급

createToken
Jwts

Build.gradle에 추가 해서 받아온 뒤..

 

public static final String ACCESS_TOKEN

상수는 현역에서도 그렇고 다 대문자 사용함

언더바하고 snake case로 사용

 

deprecated : 더 이상 사용되지 않는

 

ARC나 POSTMAN 안 쓰고 인텔리제이에서