최근, 아이디와 비밀번호 입력없이 구글이나 페이스북과 같은 대형 플랫폼을 통해서 로그인하는 서비스들을 많이 볼 수 있다.

사용자 인증을 타 서비스에 위임하기 위해서 사용되는 OpenID Connect에 대해서 알아보자.

 

 

 

OpenID Connect란?


예전에는 사용자 데이터를 서비스에서 직접 관리하는 경우가 많았지만, 개인정보 유출과 관련된 보안 사고에 대해 처벌 수위가 높아짐에 따라, 지금은 사용자 데이터를 자체적으로 보관하는게 많이 부담스러워졌다. 이러한 이유와 더불어 사용자 인증을 직접 구현할 때 드는 개발 비용과 유지보수 비용을 줄이기 위해 구글, 페이스북과 같은 대형 플랫폼을 통한 로그인을 사용하는 서비스들이 많아지는 추세다.

 

OpenID Connect(OIDC)는 대규모 플랫폼에서 사용자 인증 서비스를 제공할때 사용되는 프로토콜로, OIDC는 OAuth 프로토콜을 기반으로 작동한다.

 

 

 

OAuth랑 무슨 차이?


기본적으로 OAuth 프로토콜 기반으로 작동하기 때문에 기술적으로는 많이 유사할지 몰라도, 사용하는 목적에는 많은 차이가 있다.

OIDC와 OAuth의 목적은 다음과 같다.

  • OIDC는 인증(Authentication)을 위해 사용한다. (이 사람이 누구인지 타 플랫폼을 통해 확인하고 싶을 때)
    사용자의 개인 정보가 담긴 id token을 얻는다.
  • OAuth는 인가(Authorization)를 위해 사용한다. (해당 플랫폼에 저장된 사용자의 데이터에 접근하고 싶을 때)
    해당 플랫폼의 API를 호출하기 위해 access token을 얻는다.

 

 

 

참고자료


[1] https://www.daleseo.com/google-oidc/

[2] https://www.samsungsds.com/global/ko/support/insights/oidc.html

 

'Web > Theory' 카테고리의 다른 글

[Web/Theory] HTTPS 프로토콜  (0) 2020.08.12
[Web/Theory] OAuth 프로토콜  (0) 2020.08.04
[Web/Theory] URL과 URI의 차이점  (0) 2020.07.31
[Web/Theory] REST API  (0) 2020.07.30
[Web/Theory] CSRF (Cross-Site-Request-Forgery)  (0) 2020.07.20