본문으로 건너뛰기
Previous
Next
OAuth 뜻과 의미 | 기술 용어 사전 | pkglog
보안

OAuth

다른 이름: OAuth 2.0 , OAuth2

정의

제3자 앱에 비밀번호 노출 없이 권한 위임하는 인증 프로토콜. "Google로 로그인" 구현 표준. Authorization Code, Implicit, Client Credentials, Password 4가지 Grant Type. Access Token + Refresh Token. OpenID Connect(OIDC)는 OAuth 2.0 확장

상세 설명

📋 기술 스펙

  • OAuth 2.0: 현재 표준 (OAuth 1.0은 deprecated)
  • Authorization Code: 서버 사이드 앱 (가장 안전)
  • Implicit: SPA (deprecated, PKCE 권장)
  • Client Credentials: 서버-서버 통신
  • Password: 레거시 (권장 안 함)
  • PKCE (Proof Key for Code Exchange): 모바일/SPA 보안 강화
  • Scope: 권한 범위 (read, write, admin)
  • Redirect URI: 인증 후 돌아올 URL

💡 실무 활용

  • 소셜 로그인: Google, Facebook, GitHub
  • API 권한 위임: Google Drive, Dropbox 접근
  • 3rd Party 연동: Slack, Notion API
  • SSO (Single Sign-On): 여러 서비스 통합 로그인

장점

  • 비밀번호 노출 없음: 제3자 앱에 안전
  • 세밀한 권한 제어: Scope로 읽기/쓰기 구분
  • 토큰 만료: 일정 시간 후 자동 무효화
  • 표준화: 대부분의 서비스 지원

⚠️ 단점 및 제약

  • 복잡한 플로우: 4단계 (인증 요청 → 코드 → 토큰 → API)
  • Redirect 필요: 모바일 앱 구현 까다로움
  • CSRF 취약: state 파라미터로 방어 필수
  • Token 탈취: HTTPS, PKCE 필수

🔧 호환성

Google, Facebook, GitHub, Microsoft. 모든 웹/모바일

📚 표준 정보

표준화 기구: IETF RFC 6749 (OAuth 2.0), RFC 6750 (Bearer Token)

출시 연도: 2012년