authentication
-
[Spring boot] 유저 인증 처리프로젝트/아카이뷰 2024. 1. 15. 20:37
유저 인증 처리 왜 궁금했을까❓SSAFY 1학기에 Share Your Trip에서 유저를 인증하기 위해 이메일 인증 방식을 사용했다. 하지만, 악의적인 사용자가 비밀번호 변경 API를 알아낸 뒤 다른 사용자의 비밀번호를 변경하면 취약점이 발생할 것이라 생각이 들었다. 이를 해결하기 위해, 유저 인증 처리에 대해서 학습해보려고 한다.기존 이메일 인증 로직클라이언트가 비밀번호 변경을 위해 이메일 인증 요청서버는 인증번호를 생성하고 해당 클라이언트의 이메일로 메일 전송메일 전송 완료 후, 서버는 생성된 인증번호를 클라이언트에게 전송클라이언트는 자체 저장소(Redux, Recoil 등)에 저장하고 사용자가 입력한 값을 검증일치한다면 패스워드 변경 진행// 아이디, 패스워드 찾기용 이메일 인증 요청@GetMapp..
-
[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)를..