인프런 커뮤니티 질문&답변

원준님의 프로필 이미지
원준

작성한 질문수

스프링 시큐리티 OAuth2

OpenId Provider와 인가서버의 차이에 대해 질문드립니다.

해결된 질문

작성

·

600

1

안녕하세요 강사님.

매번 너무나도 좋은 강의 감사드립니다.

 

강의 내용 중 OIDC 부분을 학습하다 궁금증이 생겨 질문드립니다.

위의 이미지는 제공해주신 ppt 자료 중 96번 슬라이드의 내용입니다.

 

이전 내용에서 OIDC를 사용하지 않는 클라이언트의 요청을 확인하여 액세스 토큰을 발급하는 주체는 인가 서버라고 설명을 해 주셨는데 위의 이미지에서는 OP가 ID토큰과 액세스 토큰을 발급한다고 설명을 해 주셨습니다.

 

혹시 OIDC를 사용하는 경우에는 OpenID Provider가 인가 서버의 역할을 같이 하는 것이라고 생각해도 될까요?

감사합니다.

 

답변 1

1

정수원님의 프로필 이미지
정수원
지식공유자

OIDC 는 인가서버에 포함되는 개념입니다

인가서버의 정확한 역할은 인증이 아니라 인가입니다

즉 클라이언트에게 사용자가 속한 서버의 리소스를 허가하도록 access token 을 발급하는 것입니다

이말즉슨 클라이언트에게 사용자의 인증을 처리하도록 하는 것이 아닙니다

그러나 클라이언트가 부여받은 권한을 가지고 사용자의 정보를 가져와서 인증처리를 할 수 있게 때문에 OAuth2 는 아예 인증만을 위한 별도의 프로토콜을 인가서버의 최상단 레이어에 정의하였는데 그것이 바로 OpenID Connector Provider 입니다

그래서 요약하자면 OIDC 는 인가서버에서 제공하는 인증만을 위한 별도의 프로토콜이라 보시면 됩니다 그렇기 때문에 인증만을 위한 목적이라면 굳이 access token 을 받아오기 위해 권한 부여 흐름을 탈 필요가 없이 OIDC 와 연결해서 ID token 을 받아오면 됩니다

다만 인가서버에서 OIDC 와 연결해서 ID token 을 제공하는 전용 권한부여흐름을 지원하지 않을 수 있기 때문에 access token 요청하는 흐름의 과정에서 ID token 이 함께 포함되어 발급하는 식으로 처리가 되고 있다고 보시면 됩니다

원준님의 프로필 이미지
원준

작성한 질문수

질문하기