해결된 질문
작성
·
609
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 이 함께 포함되어 발급하는 식으로 처리가 되고 있다고 보시면 됩니다