작성
·
1.7K
1
안녕하세요
질문을 둘러보았는데 저랑 딱맞는 고민은 없는거 같아서 질문드립니다.
프론트/백서버를 나누지 않고 한 서버로 구현할 경우
JWT를 페이지 이동시 매번 어떻게 헤더로 보내줄까요??
fetch api나 ajax를 통한 api 호출시 헤더 보내는것은 문제없지만
아예 다른 매핑으로 페이지를 이동할 경우 인증이 필요한 페이지에 접근하려면
header에 bearer token이 필요한데
도대체 어떤 방법으로 구현할지 모르겠습니다.
프론트서버를 나눈경우 이게 어려운게 아닌일 같은데
리다이렉션을 헤더요청과 함께하려는 꼴이 되서 안되는거 같네요,..
그래서 일단은 cookie에 토큰값을 넣어주고 쿠키값에서 찾아오도록하고 있습니다.....
쿠키는 헤더에 자동으로 계속 추가되니깐요..
그냥 이렇게 해도 상관없을까요 쿠키에 토큰 자체를 넣어버려도 괜찮을지요
프론트와 백이 분리 되지 않고 spring security로 설계한 서비스의 경우
jwt인증을 매 페이지 마다 어떻게 수행할지가 고민입니다.
감사합니다.
답변 1
0
음
정확히 하나의 서버로 구현한다는 의미가 무엇인지 추가 설명이 필요할 것 같습니다.
일단 브라우저나 api 연동 툴이 아닌 서버 어플리케이션 내에서 api 연동이 필요하다면
httpclient 혹은 restTemplate 등으로 통신이 가능할 것입니다.
그리고 보통 이런 기술들은 header 를 제공하기 때문에 request 혹은 response 헤더에 인증토큰이나 특정한 값들을 설정 할 수 있습니다.
그리고 말씀하신대로 쿠키로 담아서 보내는 것도 한 가지 방법일 수 있습니다.
다만 전송하는 값들에 대한 암호화는 필수이며 여러가지 보안에 신경을 쓰야 합니다.
혹 github 소스 공유가 가능하다면 살펴보도록 하겠습니다.
안녕하세요 같은 고민이 있는 학생인데
제 코드도 봐주실 수 있을까요
말씀해주시면 git 주소 드리겠습니다.