jwt
-
[Spring boot] Spring Security + JWT + Redis (3/3)프로젝트/Share Your Trip 2024. 2. 7. 22:08
이번 포스팅에서는 유효한 RefreshToken을 활용하여 만료된 AccessToken을 갱신하고 MySQL에 RefreshToken을 저장하는 것이 아닌 Redis에 저장하여 효율적으로 토큰을 관리해보려고 한다. 또한, MySQL에서 refreshToken을 조회했을 때와 Redis를 통해서 refreshToken을 조회했을 때의 성능 차이를 비교해보려고 한다.MySQL에서 RefreshToken 관리@Overridepublic UserDto.UserInfoResponseDTO login(final UserDto.LoginRequestDTO requestDTO) { UsernamePasswordAuthenticationToken authenticationToken = new UsernamePass..
-
[Spring boot] Spring Security + JWT + Redis (2/3)프로젝트/Share Your Trip 2024. 2. 6. 21:36
이번 포스팅에서는 Share Your Trip 프로젝트에 Spring Security를 적용해 볼 것이다. 또한, JWT와 함께 사용하여 Spring Security를 커스터 마이징 해볼 것이다.Spring Security FilterShare Your Trip은 Rest API 서버로 formLogin 방식을 사용하지 않아 formLogin(AbstractHttpConfigurer::disable)을 설정했다.httpBasic은 username과 userpassword를 텍스트로 전송하는 방식이다. 해당 프로젝트에서는 JWT 방식을 사용하여 httpBasic(AbstractHttpConfigurer::disable)을 설정했다.stateless한 JWT 사용으로 인해 Spring Security에서 기..
-
[Spring boot] JWT(JSON Web Token)프로젝트/Share Your Trip 2024. 1. 12. 22:46
JWT(JSON Web Token) 왜 궁금했을까 ❓- NodeJS를 이용해서 JWT 인증 방식을 구현해 본 경험이 있지만, Spring boot로 JWT(JSON Web Token) 인증을 구현해본 경험이 없어서 시간이 부족했던 1학기 프로젝트에서 JWT를 적용하지 못했다.- 개발 시간이 비교적 널널한 2학기 프로젝트에서 JWT 인증을 도입하여 OAuth 확장성과 낮은 성능의 서버로 인해 Client에서 인증 정보를 관리하도록 해보려고 한다. JWT를 사용해야 하는 이유 ❓낮은 성능의 서버로 인해 서버에서 인증 정보를 보유하고 처리하는 Session의 방식보다는 Client에서 인증 정보를 보유하고 서버에서는 인증 여부만 판별하는 식으로 서버의 부하를 줄여보려고 한다.추후, 소셜 로그인(OAuth)를..