728x90
Access Token
- 클라이언트에서 사용자의 보호된 리소스에 접근하기 위해 사용하는 일종의 자격 증명으로서 역할을 하며 리소스 소유자가 클라이언트에게 부여한 권한 부여의 표현이다
- 일반적으로 JWT(JSON Web Tokens) 형식을 취하지만 사양에 따라 그럴 필요는 없다.
- 토큰에는 해당 액세스 기간, 범위 및 서버에 필요한 기타 정보가 있다.
- 타입에는 식별자 타입 (Identifier Type)과 자체 포함타입 (Self-contained Type) 이 있다
Refresh Token
- 액세스 토큰이 만료된 후 새 액세스 토큰을 얻기 위해 클라이언트 응용 프로그램에서 사용하는 자격 증명
- 액세스 토큰이 만료되는 경우 클라이언트는 권한 부여 서버로 인증하고 Refresh Token을 전달한다.
- 인증 서버는 Refresh Token의 유효성을 검사하고 새 액세스 토큰을 발급한다.
- Refresh Token 은 액세스 토큰과 달리 권한 서버 토큰 엔드포인트에만 보내지고 리소스 서버에는 보내지 않는다.
ID Token
- OpenID Connect 챕터에서 학습함
Authorization Code
- 권한 부여 코드 흐름에서 사용되며 이 코드는 클라이언트가 액세스 토큰과 교환할 임시 코드임(한번 사용하면 폐기한다)
- 사용자가 클라이언트가 요청하는 정보를 확인하고 인가 서버로부터 리다이렉트 되어 받아온다.
AccessToken 유형
식별자 타입(Identifier Type)

- 클라이언트가 인증서버에 인증을 요청하고, 토큰(난수)을 발행해 주고, 해당 난수를 인증서버에서 저장하고 있는다.
- 인가서버는 이 토큰에 대한 고유 식별자만,클라이언트에 다시 발행한다.
- 이 토큰을 수신하는 API는 토큰의 유효성을 검사하기 위해 인가서버에 대한 백 채널 통신을 열고 DB를 조회해야 한다.
- 네트워크에 대한 부하가 발생한다는 단점이 있다,
자체 포함 타입

- 클라이 언트가 인가 서버에 인증을 요청하고, 서명된 토큰(JWT)를 발행해 준다.(JWT는 반드시 서명이라는 작업이 필요하며, 서명이 끝난 토큰은 자격증명이 완료된 토큰이다.)
- JWT 토큰 형식으로 발급되며, 클레임 및 만료가 있는 보호된 데이터 구조이다
- 리소스 서버 API가 검증 키 등의 핵심 자료에 대해 알게 되면 발급자와 통실할 필요 없이 자체 포함된 토큰의 유효성을 검사할 수 있다.
- 특정한 암호와 알고리즘에 의해 개인키로 서명되고, 공개 키로 검증할 수 있으며 만료될 때까지 유효하다.
728x90
'스프링 시큐리티 OAuth2 > OAuth 2.0 용어 이해' 카테고리의 다른 글
| OAuth 2.0 Client Types 이해 (0) | 2023.01.04 |
|---|---|
| OAuth 2.0 Roles 이해 (0) | 2023.01.04 |
| keycloak 설치 및 설정 (0) | 2023.01.02 |
| OAuth 2.0 소개 (0) | 2023.01.02 |