반응형
OAuth2란?
OAuth2는 리소스 소유자가 제3자 애플리케이션에게 자신을 대신하여 리소스에 접근할 수 있는 권한을 부여하는 프로토콜. 이는 주로 권한 부여에 중점을 두고 있으며, 인증(Authentication)보다는 권한 부여(Authorization)에 더 관련이 깊다.
주요 구성 요소:
- 리소스 소유자(Resource Owner): 리소스에 접근할 수 있는 사용자.
- 클라이언트(Client): 리소스 소유자를 대신하여 리소스에 접근하려는 애플리케이션.
- 권한 부여 서버(Authorization Server): 권한 부여 요청을 처리하고, 액세스 토큰을 발급하는 서버.
- 리소스 서버(Resource Server): 보호된 리소스를 호스팅하는 서버.
OIDC란?
OIDC(OpenID Connect)는 OAuth2를 기반으로 한 인증(Authentication) 프로토콜로, 사용자의 신원을 인증하는 데 초점을 맞추고 있다. OIDC는 OAuth2의 권한 부여 기능을 확장하여 사용자 인증 및 세션 관리 기능을 제공한다.
주요 구성 요소:
- 사용자(User): 인증을 받는 주체.
- 클라이언트(Client): 인증 요청을 보내는 애플리케이션.
- 권한 부여 서버(Authorization Server): 인증 요청을 처리하고, ID 토큰을 발급하는 서버.
- ID 토큰(ID Token): 사용자의 신원 정보를 포함한 JWT(JSON Web Token).
주요 차이점
특성 | OAuth2 | OIDC |
목적 | 권한 부여(Authorization) | 인증(Authentication) 및 권한 부여(Authorization) |
토큰 | 액세스 토큰(Access Token) | 액세스 토큰(Access Token) 및 ID 토큰(ID Token) |
사용자 정보 | 사용자 정보가 포함되지 않음 | ID 토큰에 사용자 정보 포함 |
플로우 | 권한 코드, 암시적, 클라이언트 자격 증명 등 | 권한 코드, 암시적, 하이브리드 플로우 |
사용 사례 | 리소스 접근 권한 부여 | 사용자 인증 및 세션 관리 |
OAuth는 인증에 성공한 유저에게 리소스에 대한 접근 권한인 access token 만을 제공한다. 그러나 OIDC 인증을 통해 발급된 ID Token 에는 유저의 프로필, 이메일 등 민감하지 않은 정보들이 포함될 수 있다.
OIDC 인증의 경우 그렇기 때문에 access token 을 가지고 리소스 서버에 또 요청을 하지 않아도 되기 때문에 요청 수를 절반 이하로 줄일 수 있다.
OIDC 에 대해서 잘 설명된 글이 있어 첨부
반응형
'IT공부' 카테고리의 다른 글
Singletone pattern (0) | 2022.06.26 |
---|---|
DAO vs. Repository (0) | 2022.05.29 |
Optimistic Locking vs. Pessimistic Locking (0) | 2022.03.30 |
Git Rebase 이해하기 (0) | 2022.03.26 |
JWT 인증과 세션인증 (0) | 2021.09.12 |