TIL_WIL

TIL_230313

성-민 2023. 3. 14. 01:22

로그인 방식

 

토큰 방식은 세션 하이재킹 공격에 대한 보안성이 높다.

또한 서버 측에서 세션 정보를 유지하지 않기 때문에 서버 부하가 줄어들고 서버 리소스를 절약할 수 있다.

그러나 토큰 보안성을 높이기 위해 HTTPS 프로토콜을 사용하거나 토큰을 안전하게 저장하고 관리하는 등의 추가 보안 조치가 필요하다.

현재 B2B SaaS 서비스에 맞게 Jwt, Redis, Spring boot를 활용하는 방식의 보안을 선택할 예정

동시성 제어는 redis에 token을 담아 redis 이벤트 리스너를 활용해 접속 상태를 확인 후 동시 접속이 가능캐 할 것

 

로그아웃 방식

메서드

단순 GET 요청으로 동작할 수 있지만 prefetch라는 기술로 인해 부작용이 생길 수 있다.

prefetch = 사용자를 위해 GET 링크를 미리 가져와 사용자가 해당 링크를 클릭했을 때 즉시 제공함으로써 페이지 로딩 시간을 줄이는 프로세스이다.

페이지에서 링크를 미리 가져오려고 시도하는 도중에 사용자가 로그아웃을 누르지 않아도 로그아웃이 될 수 있다.

그래서 POST 메서드를 사용한다.

유효성 검사(Token값 확인)

기존 토큰을 확인해서 인증되지 않은 사용자가 다른 사용자의 계정을 로그아웃하는 등의 보안 위협 방지

 

ERD를 짤때, 와이어프레임을 따라서 작성하니 더 쉽게 작성가능한 것 같았고 다대다 관계일 때는 Table을 하나 더 만들어 영속성 문제를 해결하고, 엔티티 무결성을 지키려고한다.