TIL

24.02.06

아리단길아조씨 2024. 2. 6. 22:00
728x90

인증(Authentication) => 사용자가 누구인지 확인하는 과정
(인간의 귀차니즘에서 생겨난..)

시스템이 사용자의 신원을 확인할 수 있어야 하기 때문에 필요함.
- 신원이 증명이 되면 그에 맞는 알맞은 서비스를 제공한다.

쿠키(Cookie)
=> 세션 ID나 JWT와 같은 인증 토큰을 전달하는 매개체

세션(stateful): 서버에서 **직접 사용자 정보를 관리하는 메커니즘
(JWT보다 오래된 기술)

sateful: 서버에서 클라이언트의 상태를 유지해야한다.(상태를 유지하지 못하는 서버에서는 원하는 결과를 얻을 수 없음)


JWT(stateless)
서버가 세션 map과 같이 클라이언트의 상태를 보존하지 않아도 괜찮음

엑세스 토큰과 리프세시 토큰은 생성 시 유효시간을 입력하여 발급하는 구조임
엑세스 토큰은 리프레시 토큰에 비해서 훨씬 짧은 유효기간으로 세팅된다.
=> 토큰이 노출이 되었을 때 피해 시간을 최소한으로 가져가기 위함임

긴 유효기간으로 세팅된 리프레시 토큰으로 api를 사용하지 않게 함으로서 최대한 정체를 숨김
다소 짧은 유효기간으로 세팅된 엑세스 토큰으로 대부분의 인가가 필요한 API를 호출한다.

리프레시 토큰은 엑세스 토큰이 노출되는 사고가 생기거나 엑세스 토큰이 만료가 될 때 움직임.

엑세스 토큰은 짧은 유효기간으로 보안유지, 리프레시 토큰은 사용자 경험을 개선한다.

HTTPS위에서 통신하게 하고 쿠키에 httpOnly, secure 옵션 설정만 잘해도 충분히 보안이 확보가 된다

'TIL' 카테고리의 다른 글

24.02.08  (0) 2024.02.13
24.02.07  (0) 2024.02.07
24.02.02  (0) 2024.02.05
24.02.01  (0) 2024.02.02
24.01.31  (0) 2024.01.31