토큰 2

세션 기반 인증 vs 토큰 기반 인증

고민지점 서버에서 로그인 기능 구현을 할 때, JWT를 이용한 토큰 기반의 인증/인가 방식을 많이 사용하게 된다. 다만, JWT 옆에 따라 붙는 키워드가 쿠키, 세션, Redis등 같이 몇 가지가 있는데, 가장 많이 언급이 되고 비교가 되는 인증/인가 방식이 쿠키 + 세션 로그인 방식이다. 하지만, 구글링을 해보았을때, JWT 기반 (+Spring Security) 글이 훨씬 많았고, 본인도 충분한 고민 없이 해당 방식으로 구현을 해본 거 같다. 그러므로, 토큰, 세션방식의 장단점을 알고, 왜 해당 방식으로 구현했는지는 알아둘 필요가 있을 필요가 있다고 생각해서 해당 글을 쓰게 되었다. 세션 기반 인증의 단점? 보통 세션 방식의 로그인 방식을 언급할 때 나오는 단점은 몇가지가 있는데, 크게 WAS 서버의..

Auth 2023.08.30

JJWT(Java Json Web Token) 예외 처리

Java환경에서 JJWT을 파싱하는 과정 속에서의 예외를 다뤄보고자 한다. 여러가지 파싱 함수가 있지만, JwtParser의 parseClaimsJws함수를 이용해 파싱해보고자 한다. parseClaimsJws Jws parseClaimsJws(String claimsJws) throws ExpiredJwtException, UnsupportedJwtException, MalformedJwtException, SignatureException, IllegalArgumentException; - 압축된 String 형식의 토큰을 인자로 받는다. - 파싱 후 토큰을 만들 때, 삽입했던 claims 값을 포함한 Jws 객체가 반환된다. - 파싱하는 과정 속에서 압축된 토큰의 형식이나 만료 여부등을 검증하며, ..

Auth 2023.07.26