JWT 3

24.09.03 TIL - Spring Security Login with JWT

오늘 배운 것Spring Security 설정Spring Security Config 설정UserDetailsService 인터페이스 구현UserDetails 인터페이스 구현JWT 인증 처리 필터 생성JWT 인가 처리 필터 생성@AuthenticationPrincipal@Secured 개요Spring Security의 기본 설정으로는 세션 기반 로그인이다.  로그인이 성공하면 세션 ID를 반환하는 방식으로 진행이 된다.  따라서 JWT 기반으로 로그인을 진행하려면 커스텀을 좀 해야 한다.  JWT를 기반으로 로그인을 하려면 어떻게 해야 하는지 보자.  Spring Security 설정Spring Security를 사용하려면 역시 build.gradle에 추가해줘야 한다. // Securityimpleme..

TIL 2024.09.08

24.08.28 - JWT in Spring

오늘 배운 것JWT in Spring 개요JWT를 사용해 Spring에서 로그인을 구현하려고 한다.  여기에서 사용하는 것들이 이후에 스프링 시큐리티를 사용해 로그인을 구현할 때에도 사용이 된다.  회원 가입은 입력 받은 Id, Password를 DB에 저장하는 것이다. 로그인은 입력 받은 Id와 Password가 DB와 같은지 비교하는 것이다. JWT나 세션은 결국 아래와 같은 일을 하는 것이였다.- 인증 (사용자가 로그인한 사용자인지 아닌지 판단)- 인가 (사용자가 필요한 권한 가진 사용자인지 아닌지 판단)이 인증과 인가가 애플리케이션의 보안에서 중요한 부분이라고 한다. 그저 입력 받은 입력 받은 Id와 Password가 DB와 같은지 비교하는 것이 전부가 아니였다. 그래서 로그인을 내가 직접 구현하..

TIL 2024.08.30

24.08.27 TIL - JWT

오늘 배운 것JWT JWT란?JWT는 Json Web Token의 약자다.  JSON 포맷을 이용해 사용자에 대한 속성 저장하는 Web Token이라는 의미다.  Token은 동전이라는 의미인데 Web Cookie처럼 정보를 담고 있는 것이다.  그래서 그런지 일반적으로 쿠키 저장소를 사용해 JWT를 저장한다.  JWT 사용 이유로그인에 쿠키-세션 방식과 JWT 방식이 있는데 왜 JWT 방식을 요즘 많이 사용하는지 의문이 있었다.  각각 장단점이 있고 단점을 보완하는 방법도 존재하는 것 같은데 왜 JWT를 많이 사용하는지 궁금했다.  그래서 JWT 사용 이유에 대해서 보자.   서버가 1대인 경우 서버가 1대인 경우에는 쿠키-세션 방식을 사용해도 문제가 없다. 서버가 모든 클라이언트에 대한 로그인 정보를..

TIL 2024.08.28