강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

따뜻한 노새님의 프로필 이미지
따뜻한 노새

작성한 질문수

JWT 리다이렉트

작성

·

73

0

안녕하세요

스프링과 타임리프로 프로젝트 진행중입니다

jwt 로그인 필터를 따로 구현하여 사용중인데

로그인하면 서비스 페이지로 넘어가는데 보통 리다이렉트를 사용하는데

그러면 헤더값이 전달이 안되고 jwt인증이 되지않는데

타임리프에서 헤더에 토큰을 넣고 GET방식으로 접근해도 토큰인식이 안돼서

혹시 다른 방법이 있을까요

보통 JWT를 쓸때 페이지를 어떻게 변환하는지 궁금합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

JWT를 사용할 때 페이지 리다이렉트하는 방식에 대한 질문이시군요. 제공된 정보 중 직접적으로 JWT 리다이렉트에 대해 설명하는 부분은 없습니다. 하지만 스프링 부트와 타임리프를 사용하고 계신 만큼, 몇 가지 방법을 제안드릴 수 있습니다.

  1. AJAX를 사용하여 인증과 페이지 로드 분리하기: 클라이언트에서 AJAX를 이용하여 서버에 인증 요청을 보내고, JWT를 받은 후 클라이언트 측에서 적절히 JWT를 저장(예: localStorage, cookie 등). 이후 페이지를 리다이렉트하거나 AJAX로 페이지 컨텐츠를 불러올 때 해당 JWT를 사용하여 인증을 거치도록 구현할 수 있습니다.

  2. 서버사이드에서 페이지를 직접 렌더링하여 전달하기: 인증 후 서버 측에서 클라이언트로 전달할 때, JWT를 HTTP 응답 본문에 포함시키거나, HTML 페이지 내에 스크립트 변수로 JWT를 심어서 보내는 방법입니다. 클라이언트는 이를 받아 적절한 저장소에 저장한 후 사용할 수 있습니다.

  3. Meta 리프레시 활용하기: 이 방법은 권장되지 않지만, 가능한 한 방법으로 서버에서 클라이언트에게 HTML 페이지를 전달할 때, <meta http-equiv="refresh" content="0;url=URL_HERE"> 태그를 이용해 페이지를 리다이렉트할 수 있습니다. 여기서 URL은 필요한 토큰 정보를 가지고 있어야 합니다.

위 방법들은 일반적인 아이디어이며, 보안상의 이유로 JWT를 안전하게 클라이언트와 서버 간에 전송해야 한다는 점을 기억하시면서 개발하시기 바랍니다.

따뜻한 노새님의 프로젝트에 도움이 되길 바랍니다. 추가적인 질문이 있으시면 언제든 질문해 주세요.

따뜻한 노새님의 프로필 이미지
따뜻한 노새

작성한 질문수

질문하기