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

toyboy0113님의 프로필 이미지

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

로그인 #4. 토큰기반인증방식(access토큰, refresh토큰) 실습 ★★★

jwt 토큰

23.01.21 01:08 작성

·

621

0

안녕하세요

서버에서 set-Cookie로 토큰들을 쿠키에 저장하면

클라이언트에서 서버로 인가가 필요한 페이지에 요청을 할 때 Bearer 이라는 것을 어떻게 붙이나요?

서버에서 따로 access토큰 데이터를 받아서 클라이언트에서 따로 저장한 후에 요청마다 그 저장소에 있는 토큰 데이터를 가져와 Bearer을 붙이는 방식으로 하는건가요?

클라이언트단에서 access토큰을 어떻게 저장하고 어떻게 보내야하는지 이해가 잘 가지 않네요ㅠ...

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

2023. 01. 21. 06:03

안녕하세요 toy님 ㅎㅎ

서버에서

set-cookie에다가 설정해서 access토큰을 클라이언트에 전달하죠?

그러면 그 때부터 "자동적으로" 클라이언트가 보내는 모든 요청에는 쿠키가 설정이 됩니다.

이 쿠키에 대한 설정은 클라이언트, 서버 둘 다 할 수 있지만

서버가 주로 하구요.

서버에서 하게 되면 그 때부터 "자동적으로" 보내진다가 핵심입니다.

 

Bearer 이라는 것을 어떻게 붙이나요?

>> 이는 클라이언트, 서버 모두 붙일 수 있는데요. 서버에서는 set-cookie에다가 Bearer + token 이런식으로 하시면 됩니다. 클라이언트는 HTTP Header - Cookie에 Bearer + token 이렇게 하시면 되구요. 다만 서버에서 설정하는 것을 추천드려요.

 

서버에서 따로 access토큰 데이터를 받아서 클라이언트에서 따로 저장한 후에 요청마다 그 저장소에 있는 토큰 데이터를 가져와 Bearer을 붙이는 방식으로 하는건가요?

>> 쿠키에다 저장하면 자동 전송이 되기 때문에 "그 저장소에 있는 토큰 데이터를 가져와 "라는 작업은 필요하지 않습니다. 다만, 쿠키가 아니라 header - authorization을 기반으로 토큰 값을 넘긴다면 이를 끄집어내고, 이를 localStorage, cookie 등 어딘가에 저장해서 보내는 로직이 필요하게 됩니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

감사합니다.

강사 큰돌 올림.