Skip to content

Commit

Permalink
feat(cs): jwt 문서 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
eunbae0 committed Jul 22, 2024
1 parent d045b87 commit bc7c5aa
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions docs/cs/network/jwt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# JWT

## Header

- 토큰 유형과 서명 알고리즘
- base64URI로 인코딩

## Payload

- 데이터, 토큰 발급자, 토큰 유효기간
- base64URI로 인코딩

## Signature

- (인코딩된 header + payload) + 비밀 키를 기반으로 Header에 명시된 알고리즘으로 다시 생성한 서명 값

## JWT의 장점

1. 사용자 인증에 필요한 모든 정보는 토큰 자체에 포함되기 때문에 별도의 인증 저장소가 필요하지 않음
2. 다른 유형의 토큰과 비교했을 때 경량화되어있음(SAML에 비해 훨씬 경량화)
3. 디코딩했을 때 JSON이 나오기 때문에 JSON을 기반으로 쉽게 직렬화, 역직렬화가 가능

## 토큰 기반 인증 방식의 로그인 유지 과정

1. Client에서 로그인 요청이 들어오면, Server는 JWT token(access, refresh)을 생성한 후 응답을 보낸다.
2. Client는 access token을 HTTP header - Authorization or Cookie에 담아 요청을 하면 원하는 컨텐츠를 가져올 수 있다.
3. 만약 access token이 만료되었다면 refresh token을 기반으로 access token을 다시 발급받을 수 있다.

0 comments on commit bc7c5aa

Please sign in to comment.