토큰(Token)
- 클라이언트에서 보관하는 암호화된 인증정보를 의미
- 세션처럼 서버에서 사용자의 인증 정보를 보관할 필요가 없기 때문에, 서버 부담을 줄여주는 인증 수단임.
- 웹에서 인증 수단으로 사용되는 토큰은 주로 JWT(Json Web Token) 을 이용한다.
JWT 의 특징
- header.payload.signature 형식으로 3가지 데이터로 구성되어 있음.
- 국제 인터넷 표준 인증 규격 중 하나이다.
- 암호화된 토큰을 누구나 복호화하여 payload를 볼 수 있음. → 토큰의 용도는 인증정보(payload)에 대한 보호가 아니라 위조 방지
- 정보(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 |