본문 바로가기

JWT2

[TIL] 2022-12-27(42day) Project MySelectShop - Security 👉 Security에서 JWT를 사용한 인증/인가의 흐름 사용자는 회원가입을 진행한다. 해당 URI 요청은 permitAll 처리하고 사용자의 입력값으로 service에서 회원가입을 진행한다. 사용자의 정보를 저장할 때 비밀번호를 암호화하여 저장한다. PasswordEncoder를 사용하여 비밀번호를 암호화 한 후 저장한다. 사용자는 로그인을 진행한다. 해당 URI 요청은 permitAll 처리하고 사용자의 입력값으로 service에서 회원 인증을 진행한다. (비밀번호 일치여부 등) 사용자 인증을 성공하면 사용자의 정보를 사용하여 JWT 토큰을 생성하고 Header에 추가하여 반환한다. Client 는 이를 쿠키저장소에 저장한다. 사용자는 게시글 .. 2022. 12. 28.
[TIL] 2022-12-15(35day) Project MySelectShop - JWT 👉 JWT - Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token (토큰의 한 종류 / 보통 쿠키 저장소에 담겨서 위에서 배운 ‘저장된 쿠키’라고 생각) # 장점 - 동시 접속자가 많을 때 서버 측 부하 낮춤 - Client, Sever 가 다른 도메인을 사용할 때 - 예) 카카오 OAuth2 로그인 시 JWT Token 사용 # 단점 - 구현의 복잡도 증가 - JWT 에 담는 내용이 커질 수록 네트워크 비용 증가 (클라이언트 → 서버) - 기 생성된 JWT 를 일부만 만료시킬 방법이 없음 - Secret key 유출 시 JWT 조작 가능 # JWT 사용 흐름 Client 가 username, password 로 로그.. 2022. 12. 18.