왜 개발자들은 OAuth와 OpenID Connect를 헷갈릴까?

“구글 로그인은 OAuth 2.0으로 만들었어요.”

“카카오 로그인은 OAuth API 써서 붙였어요.”

많은 개발자들이 ‘소셜 로그인 = OAuth 2.0’ 이라고 이야기합니다. 하지만 사실 소셜 로그인은 OAuth가 아니라 OpenID Connect(OIDC) 덕분에 가능한 기능입니다.

이 글에서는 개발자들이 OAuth와 OIDC를 혼용하는 이유와 왜 구글/카카오 로그인은 OIDC라고 말해야 하는지를 정리해봅니다.

OAuth 2.0과 OpenID Connect(OIDC)는 뭐가 다를까?

OAuth 2.0

  • 목적: 권한 위임(Authorization)
  • 예: “내 구글 드라이브 파일에 접근할 수 있는 권한을 앱에 줄게”

OpenID Connect (OIDC)

  • 목적: 인증(Authentication)
  • OAuth 2.0 기반 프로토콜 + ID Token 개념 추가
  • 예: “이 사용자가 ‘홍길동’인지 확인하고 로그인 처리해줘”
  • 정리하면 OAuth는 ‘무엇을 할 수 있는지’, OIDC는 ‘누구인지’ 를 해결하는 프로토콜입니다.

개발자들이 혼용하는 대표 케이스

“구글 로그인은 OAuth 2.0을 사용했다.”

왜 혼동될까? 구글 개발자 문서에 ‘Google OAuth 2.0’이라고 적혀 있어서. 실제 구현도 OAuth Authorization Code Flow를 사용하기 때문.

정확한 설명

  • 구글 API 호출 -> OAuth
  • 구글 로그인 -> OpenID Connect
  • 구글 로그인을 구현했다면 “OIDC를 사용했다”고 말하는 게 정확합니다.
  • “OAuth로 로그인 기능을 만들었다.”

OAuth Flow를 사용하니까 로그인도 OAuth로 가능하다고 착각.

  • OAuth는 권한 위임만 담당합니다.
  • 로그인 기능을 가능하게 해주는 건 OIDC에서 발급하는 ID Token 덕분입니다.
  • OAuth만 쓰면 사용자 ‘신원’은 확인할 수 없습니다.
  • “ID Token도 Access Token 중 하나다.”

왜 혼동될까? 둘 다 ‘토큰’이니까 같은 개념이라고 생각.

  • JWT 구조도 비슷해서 더 헷갈립니다.
  • Access Token -> API 자원 접근 용도
  • ID Token -> 로그인 인증 용도 (이메일, 이름, 사용자 ID 포함)

그렇다면, 구글/카카오 로그인은 OAuth일까 OIDC일까?

  • 정확히 말하면 -> OIDC를 활용한 것입니다.
  • OAuth 2.0 -> 권한 위임 (예: 내 구글 드라이브 파일 접근 허용)
  • OpenID Connect(OIDC) -> OAuth 2.0 기반 + “사용자 인증(로그인)” 기능 추가

구글 로그인 / 카카오 로그인은 “로그인(= 인증)”이 목적이라 OIDC를 사용했다고 해야 정확합니다.

면접이나 블로그에서 이렇게 설명할 수 있습니다

구글, 카카오 로그인 기능을 내 서비스에 붙일 때 OAuth 2.0 Flow(Authorization Code)를 사용하긴 했지만, 실제로 로그인 기능을 가능하게 한 건 OpenID Connect(OIDC)입니다.

OAuth만 쓰면 단순 권한 위임만 가능하지만, OIDC는 ID Token을 통해 사용자 정보를 확인할 수 있기 때문에 로그인 구현이 가능합니다.

결론: 이렇게 기억하면 안 헷갈림

  • OAuth 2.0 -> 권한 위임 (내 API를 대신 호출하게 권한 줌)
  • OIDC -> OAuth 2.0 + 로그인 기능 (이 사용자가 누구인지 알려줌)

마무리

다음에 누군가 “구글 로그인은 OAuth로 만들었어?” 라고 물으면

“정확히는 OAuth 위에 인증 기능을 추가한 OpenID Connect로 구현했어”

라고 말해보세요. OAuth는 ‘무엇을 할 수 있나’, OIDC는 ‘누구인가’. 이 한 줄만 기억하면 더 이상 헷갈리지 않을 겁니다.




    Enjoy Reading This Article?

    Here are some more articles you might like to read next:

  • 무료 프록시, 크롤러 실패의 지름길, 유료 프록시가 필수인 7가지 기술적 이유
  • 파이썬 웹 크롤링 완벽 가이드 - 현업 데이터 엔지니어의 실전 노하우
  • AI 글쓰기 품질을 높이는 프롬프트 엔지니어링 8단계 (실전 템플릿 포함)
  • AI 시대, 경쟁력 있는 사람이 되는 법, 효과적인 프롬프트 작성 가이드
  • AI를 믿을 수 있을까? 인간이 할루시네이션을 구분할줄 알아야 한다.