작성
·
395
0
안녕하세요 질문이 있습니다.
스프링과 thymeleaf를 이용해서 SSR 방식으로 프로젝트를 만들 때 세션이 아닌 JWT 토큰 방식으로 로그인 처리를 할 수 있는지 궁금합니다. 보통 검색을 해보거나 강의를 보면 대부분 CSR 환경에서 JWT 토큰 방식으로 로그인을 처리하고 SSR 방식에서는 세션으로 로그인 처리를 하던데 JWT 토큰 방식의 로그인 처리에 대해 정보를 얻기가 힘들어서 여쭤봅니다 ㅠ
스프링+thymeleaf의 SSR 방식에서 JWT 토큰 방식의 로그인이 가능하다면 혹시 참조할 수 있는 링크나 강의가 있을까요??
세션과 JWT 토큰 둘 중 어느 방식이 SSR 환경에 적합한지 여쭤보고 싶습니다.
답변 2
1
1
안녕하세요. 정훈님
JWT를 사용하면 보통 HTTP 해더에 JWT 토큰을 전달하는데요.
CSR 환경에서는 백엔드와 주로 API로 통신하는데, API 호출시에는 HTTP 헤더에 JWT 토큰을 전달하기 쉽습니다.
그런데 SSR 환경에서는 화면을 이동할 때 HTTP 헤더에 JWT 토큰을 추가 데이터를 전달하는 것이 번거로운 작업이 됩니다. 특히 웹 브라우저에서 단순 링크를 선택해서 화면을 이동하는 경우 헤더에 값을 전달하기는 어렵습니다.
대안으로는 HTTP 헤더 대신에 쿠키에 JWT 토큰을 저장하고 사용할 수는 있을 듯 합니다.
상황에 따라 다르겠지만 SSR의 경우 쿠키에 세션을 기반으로 진행하는 것이 더 나은 방향이라 생각합니다.
관련해서 더 좋은 대안이 있는 분들은 답변 주시면 감사하겠습니다.