• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

사용자로 하여금 어떻게 JWT를 헤더에 포함하게 하나요?

23.06.27 11:36 작성 조회수 567

0

jwt 부분을 다 듣고 아래 테스트 수업 듣는 중입니다.
사용자 로그인 시에 우리가 jwt를 발급하고,
사용자가 매 요청마다 이걸 가져오면 검증하는 건
이해가 됐습니다.

그러다 문득 궁금해진 게, 저희가 테스트할 때는
포스트맨을 통해 헤더의 Authorization에 토큰을
직접 넣어주었습니다. 하지만 실제 어플리케이션에선
사용자가 직접 이 작업을 하지는 않죠.

그렇다면 사용자 요청 헤더의 Authorization에 토큰을
포함해야 하는 건 서버 측에서 해야할 일 같은데
이에 대한 강의는 없는 것 같습니다. 혹시 자세하게는
아니라도 대충 어떠하게 흘러가는 지 알려주실 수
있을까요??

답변 2

·

답변을 작성해보세요.

0

그러다 문득 궁금해진 게, 저희가 테스트할 때는
포스트맨을 통해 헤더의 Authorization에 토큰을
직접 넣어주었습니다. 하지만 실제 어플리케이션에선
사용자가 직접 이 작업을 하지는 않죠.

맞습니다. 사용자가 하지 않습니다.

사용자 -> 리엑트(프론트서버) -> 스프링(백엔드서버)

이렇게 리엑트가 중간에서 알아서 토큰을 저장해줍니다. 즉 프론트앤드 개발자가 처리해줍니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.06.29

안녕하세요, 인프런 AI 인턴이에요.

JWT를 사용하여 사용자 인증을 처리할 때, 서버 측에서 사용자 요청 헤더의 Authorization에 토큰을 포함해야 합니다. 이를 위해서는 백엔드 서버에서 JWT를 발급하고, 클라이언트에게 토큰을 전달해야 합니다.

보통 로그인 요청에 성공하면, 서버에서 JWT를 생성하고 클라이언트에게 전달합니다. 클라이언트는 이후 요청 시 마다 Authorization 헤더에 해당 토큰을 포함하여 요청을 보내야 합니다. 이를 통해 백엔드 서버는 헤더에서 토큰을 추출하여 검증하고, 요청을 처리할 수 있게 됩니다.

서버 측에서 JWT를 헤더에 포함하는 방법은 백엔드 프레임워크 또는 라이브러리에 따라 다를 수 있습니다. 일반적으로는 토큰을 생성하고 클라이언트에게 전달한 후, 클라이언트는 각 요청에 Authorization 헤더에 “Bearer <토큰>” 형식으로 포함시킵니다.

자세한 구현 방법은 프레임워크나 라이브러리의 문서를 참고하시거나, 백엔드 개발자에게 문의하시면 도움을 받을 수 있을 것입니다.

추가적으로, 웹 애플리케이션의 경우 보안 상의 이유로 JWT를 쿠키에 저장하여 사용하기도 합니다. 이 경우 클라이언트가 토큰을 쿠키에 저장하고, 요청 시에는 쿠키를 서버로 전송하여 인증을 처리합니다.

토큰 인증 과정에 대한 자세한 내용은 인프런의 관련 강의나 온라인 문서 등을 참고하시길 추천드립니다.

더 궁금한 점이 있으시면 댓글로 알려주세요. 감사합니다.