JWT,Refresh,Access Token에 대해 설명해라
- JWT(JSON Web Token)
- JSON 객체를 사용하여 정보를 안전하게 전송하기 위한 토큰. 일반적으로 사용자 인증을 위해 사용 되며, 서버가 아닌 클라이언트에 저장 Header,Payload,Signature로 구성되어있음
- Header : 토큰의 유형과 사용되는 암호화 알고리즘을 정의
- Payload : 사용자 정보와 같은 데이터를 포함
- Signature : Header와 Payload를 결합하고 비밀 키를 사용하여 생성된 서명
- JSON 객체를 사용하여 정보를 안전하게 전송하기 위한 토큰. 일반적으로 사용자 인증을 위해 사용 되며, 서버가 아닌 클라이언트에 저장 Header,Payload,Signature로 구성되어있음
- Access Token
- 사용자가 특정 API나 리로스에 접근할 수 있는 권한을 부여하는 토큰. 이 토큰은 일반적으로 짧은 유효기간을 가지며, 탈취될 경우 보안에 취약해짐, Access Token은 서버에 저장되지 않고 클라이언트가 요청 시 헤더에 포함하여 전송. 유효 기간이 짧은 이유는 탈취 시 피해를 최소화하기 위함
- Refresh Token
- Access Token이 만료된 후 새로운 Access Token을 발급반기 위해 사용되는 토큰. Refresh Token은 일반적으로 긴 유효 기간을 가지며, 서버에 저장. 사용자가 로그인하면 서버는 Access, Refresh Token을 함께 발급한다. Access Token이 만료되면 클라이언트는 Refresh Token을 사용하여 새로운 Access Token을 발급받을수 있다. 이방식은 사용자가 자주 로그인해야하는 불편함을 줄이면서 보안을 유지할수 있게 한다.
'개발일기 > CS(면접)' 카테고리의 다른 글
API 요청에 대한 Spring 내부 동작 (0) | 2024.08.13 |
---|---|
Spring AOP 란? (0) | 2024.08.12 |
DOCKER? (0) | 2024.08.08 |
OAuth 란? (0) | 2024.08.07 |
TDD와DDD란? (0) | 2024.08.06 |