본문 바로가기

React

[React] 인증/ 인가 (토큰, JWT)

토큰(Token)

 

- 클라이언트에서 보관하는 암호화된 인증정보를 의미

- 세션처럼 서버에서 사용자의 인증 정보를 보관할 필요가 없기 때문에, 서버 부담을 줄여주는 인증 수단임.

- 웹에서 인증 수단으로 사용되는 토큰은 주로 JWT(Json Web Token) 을 이용한다.

 

JWT 의 특징

  1. header.payload.signature 형식으로 3가지 데이터로 구성되어 있음.
  2. 국제 인터넷 표준 인증 규격 중 하나이다.
  3. 암호화된 토큰을 누구나 복호화하여 payload를 볼 수 있음. → 토큰의 용도는 인증정보(payload)에 대한 보호가 아니라 위조 방지
  4. 정보(payload)를 토큰화할 때 signature에 secret key가 필요하고, secret key는 복호화가 아니라 토큰이 유효한 지를 검증하는 데 사용됨.

 

 

  세션인증 토큰인증
인증정보 저장 위치 서버 클라이언트
확장성(Scale-out) Bad Good
보안성 (상대적) Good Bad
비용 (상대적) Expensive Cheap

 

'React' 카테고리의 다른 글

[React] Redux Ducks 패턴  (0) 2023.07.31
[React] Redux 프로젝트 세팅  (0) 2023.07.31
[React] 인증/ 인가 (세션)  (0) 2023.07.05
[React] 인증/ 인가 (쿠키)  (0) 2023.07.05
[React] Throttling/ Debouncing  (0) 2023.07.05