본문 바로가기

JWT3

RefreshToken 도입 1. RefreshToken의 필요성 AccessToken(JWT)를 통한 인증 방식의 문제는 만일 제 3자에게 탈취당할 경우 보안에 취약하다. 유효기간이 짧은 Token의 경우 그만큼 사용자는 로그인을 자주 해서 새롭게 Token을 발급받아야 하므로 불편하다. AccessToken을 짧게 설정하고 RefreshToken을 사용함으로서 사용자가 자주 로그인하는 불편함을 해결할 수 있다. 2. RefreshToken의 이해 로그인을 완료했을 때 AccessToken과 동시에 발급되는 RefreshToken은 긴 유효기간을 가지면서, AccessToken 만료 시 새로 발급해준다. AccessToken 유효기간 : 1시간 RefreshToken 유효기간 : 2주 1. 사용자가 아이디, 비밀번호를 통해 로그인.. 2022. 8. 23.
AccessToken 로그인 로직 (feat. Spring Security) 1. Spring Security 인증 구조 이해 1. HTTP Request (인증 요청) 2. AuthenticationFilter를 거친다. (UsernamePasswordAuthenticationFilter) HttpServletRequest를 인터셉트하여 AuthenticationManager에 Authentication 객체를 만들어 UsernamePasswordAuthenticationToken)에 전달한다. 3. AuthenticationManager는 AuthenticationFilter로부터 인증 객체를 전달받는다. 인증 객체 (UsernamePasswordAuthenticationToken) 4. 해당 인증 객체를 통해 인증을 진행하는 AuthenticationProvider를 찾아 .. 2022. 8. 23.
토큰(JWT)기반 인증 도입 1. Token 기반 인증 토큰 기반 인증 시스템은 인증받은 사용자들에게 토큰을 발급하고, 서버에 요청을 할 때 헤더에 토큰을 함께 보내도록 하여 유효성 검사를 한다. 이러한 시스템에서는 더 이상 사용자의 인증 정보를 서버나 세션에 유지하지 않고 클라이언트 측에서 들어오는 요청만으로 작업을 처리한다. 상태를 유지하지 않으므로 stateless 한 구조를 갖는다. 서버(세션) 기반 인증의 단점을 극복할 수 있다. 2. JWT (Json Web Token) 💡 JWT란 인증에 필요한 정보들을 Token에 담아 암호화시킨 토큰을 의미한다. JWT 구조 JWT는 .을 구분자로 나누어지는 세 가지 문자열의 조합이다. JWT는 3가지 구조로 나누어진다. Header alg : 암호화할 해싱 알고리즘, typ : 토.. 2022. 8. 23.
반응형