본문 바로가기

Library&Framework/시큐리티4

[JWT Authentication Process] React + Spring Security + OAuth2 Client 쇼핑몰 프로젝트에서 구현했던 인증 프로세스 과정을 하나하나 곱씹어 보면서, 하나의 구현도로 표현해보았습니다. 첫째로 LoginFilter 를 통해서 JWT 로그인 프로세스를 진행 했으며, LoginFilter 은 AbstractAuthenticationProcessingFilter 를 상속받아 생성된 CustomJsonEmailPasswordAuthenticationFilter 를 한번 더 상속한 클래스 입니다.public class CustomJsonEmailPasswordAuthenticationFilter extends AbstractAuthenticationProcessingFilter { public static final String SPRING_SECURITY_FORM_USERNAME_.. 2024. 8. 30.
Spring Security와 JWT를 이용한 안전한 회원 로그인 구현 방법 [HttpOnly Cookie 리프레쉬토큰 저장, 로컬스토리지에 엑세스토큰 저장] Spring Security를 활용한 회원 로그인 처리 및 예외 처리안녕하세요! 이번 포스팅에서는 Spring Security와 JWT(Json Web Token)를 사용하여 회원 로그인 기능을 구현하고, 다양한 예외 상황을 처리하는 방법에 대해 다뤄보겠습니다. 클라이언트는 React를 사용하였으며, 백엔드는 Spring Boot를 기반으로 합니다.JWT(Json Web Token)는 클라이언트-서버 간의 인증을 처리하는 데 매우 유용한 도구입니다. Spring Security와 결합하면 더욱 안전하고 효율적인 인증 시스템을 구현할 수 있습니다. 이번 포스트에서는 JWT를 사용하여 안전한 회원 로그인 시스템을 구축하는 방법을 다루겠습니다. 저는 이번 ODDShop 쇼핑몰 프로젝트에 HttpOnly Coo.. 2024. 7. 24.
[OAuth2 Client] Handling HttpOnly Refresh Tokens on the Client-Side: How to Mana https://ksw4060.tistory.com/210 [React Client, Spring Boot Server] Spring Security와 OAuth2 Client를 활용한 SPA 웹 애플리케이션 로그인 시스템 쇼핑몰을 만드는 팀 프로젝트를 진행하면서, 일반 회원 및 소셜로그인 을 구현 했으며JWT 토큰을 활용한 로그인에 대해 포스팅 하려고 합니다.특히나 보안을 신경 쓰기 위해서, 소셜로그인과 같ksw4060.tistory.com이전 포스팅에 이어서, HttpOnly 리프레시 토큰으로 엑세스토큰을 발행하는 구현방법에 대해 따로 다루려고 합니다. 관련 참고 문헌과 자료 및 후기는 노션에 기록하였습니다. 저는 "ODDShop 쇼핑몰 사이드 프로젝트"에서 Spring Security 를 통한 인증,.. 2024. 7. 12.
[React Client, Spring Boot Server] Spring Security와 OAuth2 Client를 활용한 SPA 웹 애플리케이션 로그인 시스템 구축: 일반 회원 및 소셜 로그인(Naver, Google, Kakao)과 JJWT 활용 (1) 구현 절차와 인증 방식에 대한 설명 쇼핑몰을 만드는 팀 프로젝트를 진행하면서, 일반 회원 및 소셜로그인 을 구현 했으며JWT 토큰을 활용한 로그인에 대해 포스팅 하려고 합니다.특히나 보안을 신경 쓰기 위해서, 소셜로그인과 같은 경우 Rest API 방식을 사용하지 않고클라이언트에서 redirect uri 를 요청하는 방식이 아닌서버에서 직접 redirect uri 를 요청하고 그에 대한 응답을 클라이언트에게 반환 하는 OAuth2 Client 의 커스텀 소셜 로그인을 진행했습니다.방식 : JWT 를 활용한 로그인에는 여러가지 방식이 존재 하지만, Authorization Header 방식과 HttpOnly Cookie 방식을 사용한 "혼합 방식"을 채택했습니다.  ■ 프론트엔드 기술Vite 와 같은 프론트엔드 빌드 도구를 사용하지 않았고,.. 2024. 6. 21.