사용자가 로그인을 하면, 서버에서 해당 계정 정보를 확인해 유효시간이 있는 JWT 토큰을 발급한다. 해당 사용자는 유효시간이 끝날 때까지, 인증이 필요한 요청마다 해당 JWT 토큰을 http 헤더에 넣어 서버에 요청을 한다. 서버에서는 해당 JWT 토큰이 유효한지 확인하고 정보를 전달한다. 1. 사용자가 username, password로 로그인을 한다. 2. 서버는 해당 계정 정보를 읽어 사용자가 있는지 확인을 하고, JWT 토큰을 발급한다. 이때, JWT 토큰에 사용자의 고유한 ID값을 부여한 후, 기타 정보와 함께 Payload에 넣고 토큰의 유효 기간을 설정한다. 3. 서버는 secret_key를 이용해 Access Token을 발급하고, 해당 JWT 토큰을 브라우저에게 전달한다. 4. 사용자는 ..
jwt
JWT 토큰을 어디에 저장해야 할까? JWT 인증은 서버가 상태를 갖지 않아 클라이언트 측에서 토큰을 저장하고 있어야 한다. 우리가 사용할 수 있는 저장소는 쿠키, 세션 스토리지, 로컬 스토리지가 있다. (기존에는 쿠키만 존재했으나 HTML5 들어 저장소 종류가 되었다.) 이 중 어떤 저장소에 JWT토큰을 저장해야 할까라는 고민을 시작으로 웹 저장소를 선택할 때 고려해야 할 점들은 무엇이고 이들의 차이점은 무엇인지 정리해보았다! 고려해야 할 점 ✅ 얼마나 오래 보관할 것인가 저장소별 휘발성에 차이가 있다. - 쿠키는 만료일을 지정하게 되어있고 만료일이 경과하면 삭제된다. - 세션 스토리지에 저장된 데이터는 브라우저를 닫으면 제거된다. 자동 로그인 등 브라우저를 열었을 때도 유지해야 하는 데이터는 보관하기..
✅ JWT란 JWT(JSON Web Token)의 약자로, Json 포맷을 이용해 인증에 필요한 정보를 암호화 한 웹 토큰이다. JWT는 아래 사진 같이 긴 암호화 된 토큰으로, 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 안전성을 보장한다. 주로 회원 인증이나 정보 전달을 위해 쓰이며, Access Token(JWT)을 HTTP 헤더에 넣어 서버와 통신한다. JWT.IO JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. jwt.io ✅ JWT 구조 JWT 공식 사이트에 들어가면 암호화된 토큰을 볼 수 있다. 위에 사진을 보면 ..