얼음꽃의 일지

JWT 본문

항해 일지

JWT

얼음꽃 2022. 12. 19. 15:24
728x90

토큰

- 서버에 접속을 하면서 서버에서 해당 클라이언트에게 인증되었다는 의미로 주는 토큰 ( ex ) 기차표 )

- 이 토큰 유일한 값

- Access Token, Refresh Token 등이 존재

- 이 토큰 자체를 저장하는 방식은 쿠키, 세션 다 가능

- 토큰 자체는 저장소를 따로 쓰지 않기 때문에 메모리를 안잡아먹음

- 탈취 당하면 상황이 조금(?) 심각해짐

- payload는 암호화가 되는게 아니기 때문에 token만들 시 중요한 내용을 담을 수는 없음

- 쿠키, 세션과 다르게 길이가 길어서 요청이 많아지면 조금(?) 부하가 올 수 있음

 

 

JWT

- JSON Web Token의 약자로 인증에 필요한 정보들을 암호화시킨 JSON 토큰

- JWT는 이제 서버에서 처리를 하게 되는데 클라이언트에서 로그인을 하게되면 서버가 받아서 그걸 DB에 있는지 살펴 본 후 있는지 없는지에 대한 결과를 다시 클라이언트로 전송

- 보통 서버 단에서 verify혹은 decode로 확인을 해서 체크

- JWT이용하여 Access, Refresh가 있다는 가정하에 Access가 탈취되는걸 방지하기 위해서 시간은 짧게 하되 너무 짧게 하면 계속 요청을 해야하기 때문에 10~15분이 좋고 Refresh는 잘 숨겨서 나중에 만료시간을 체크할때 사용함

- 다른 API를 호출 시에는 미드웨어를 이용하여 그 값이 있는지 없는지 체크한 후 있으면 next()로 보내주고 없으면 에러

 

헤더(Header).내용(Payload).서명(Signature)
헤더(Header) 내용(Payload) 서명(Signature)
타입 및 해시 알고리즘 종류 서버에서 첨부한 내용 헤더에 명시된 해시함수, 전자서명

 

728x90

'항해 일지' 카테고리의 다른 글

트랜스파일러와 번들러  (0) 2022.12.19
Node.js === single-thread || multiple-thread??  (0) 2022.12.19
깊은 복사 와 얕은 복사  (0) 2022.12.19
동시성과 병렬성  (0) 2022.12.19
call by value 와 call by reference  (0) 2022.12.19