Spring boot와 JSP or html로 프로젝트를 할 경우 기본적인 ajax 통신을 이용하여 프로젝트를 진행할 수 있습니다.
그러나, React.js를 이용할 경우 1개의 서버가 아닌 2개의 서버를 사용하여 기존 세션 통신을 이용하여 프로젝트를 진행할 수 없는 문제가 발생합니다.
기존 세션을 이용하여 개발을 진행할 경우 값을 React.js에서 넘겨주고 Spring boot가 받아 Spring 서버의 세션에만 값을 저장하기 때문에 React.js에서는 로그인 정보를 가져올 수, 로그인되었을 때의 반응을 할 수 없게 됩니다.
그럴 경우 JWT(Json Web Token)을 이용하면 간단하게 연결할 수 있습니다.
여기서 JWT란 Json Web Token으로 세션에 저장한 값을 한번 더 저장을 합니다.
왜 1번만 저장하면 되지 2번이나 하냐? 라고 물어보는 분이 있을거 같아 설명드리겠습니다.
세션1에 값을 저장하고 JWT에 값을 저장합니다.(Spring)
세션2에 값을 저장하고 JWT에 값을 저장합니다.(React)
이럴 경우 Spring에 로그인 정보를 세션1과 JWT가 가지고 있습니다. React는 세션번호가 다르므로 공통적으로 정보를 가지고 있는 JWT에서 가져오면 됩니다.
이런식으로 연결이 되어 있어 어떠한 서버를 통해서 로그인을 접근해도 JWT에서 로그인된 정보를 가져오면 되기 때문에 다른 서버를 사용해도 로그인을 진행할 수 있게 됩니다.
추가정보
JWT는 서버에 종속으로 로그인 정보를 저장하는 것이 아닌 백엔드 개발자(Spring boot)가 저장해준 시간동안만 로그인 정보를 저장한 후 기간이 지나면 해당 정보를 삭제합니다.
'Java > Spring' 카테고리의 다른 글
Service에서 Argument 사용하기 (0) | 2024.08.07 |
---|---|
Spring boot에서의 logback 설정 (0) | 2024.08.05 |
예외 처리 방법 (0) | 2024.07.07 |
Http Method의 종류와 사용법 (0) | 2022.03.15 |
스프링의 실행 순서 (0) | 2022.03.11 |
댓글