Server

OIDC란? Ory를 활용한 인증 알아보기

devhyen 2025. 2. 11. 16:05

OIDC(OpenID Connect)란?

회사에서 IAM(Identity and Access Management) 시스템을 구축하게 되면서 OIDC(OpenID Connect)에 대해 공부해봤습니다. 요즘 많은 서비스에서 Google, Facebook, GitHub 계정으로 로그인할 수 있는데요. 이러한 기능을 가능하게 해주는 표준 프로토콜이 바로 OIDC(OpenID Connect)입니다.

기존의 OAuth 2.0은 사용자가 API에 접근할 수 있는 Access Token을 발급받을 수 있지만, "이 사용자가 누구인지"는 정확히 알 수 없었습니다. OIDC는 OAuth 2.0을 확장하여 ID Token을 추가하여 사용자 신원을 보장하는 프로토콜입니다.

즉, OIDC를 사용하면 OAuth 2.0의 인증 기능을 보완하여, 안전하고 신뢰할 수 있는 로그인 시스템을 구축할 수 있습니다.

 


OIDC의 핵심 개념

OIDC는 로그인 과정에서 ID Token을 발급하는 것이 핵심입니다.

📌 OIDC 로그인 흐름 (Authorization Code Flow)

1️⃣ 사용자가 웹사이트에서 로그인 버튼 클릭

2️⃣ 클라이언트(웹/앱)가 OIDC 제공자(Identity Provider, OP)에 인증 요청

3️⃣ 사용자가 로그인 및 동의

4️⃣ OIDC 제공자가 Authorization Code를 반환

5️⃣ 클라이언트가 Authorization Code를 사용하여 OIDC 제공자에게 토큰 요청

6️⃣ OIDC 제공자가 Access Token + ID Token을 반환

7️⃣ 클라이언트가 ID Token을 검증하여 사용자를 인증

 

📌 OIDC에서 사용하는 토큰

토큰 종류설명

ID Token 사용자의 신원 정보를 포함한 JWT (로그인 인증)
Access Token API 접근 권한을 부여하는 토큰 (OAuth 2.0)
Refresh Token Access Token을 갱신하는 토큰

 

OIDC 기반 인증, Ory

OIDC를 활용하면 강력한 사용자 인증 시스템을 구축할 수 있지만, 직접 구현하려면 생각보다 복잡한 과정이 필요합니다.

회사에서는 OIDC 기반 IAM 시스템을 구축하기 위해 Ory를 사용하고 있습니다. Ory의 대표적인 제품인 Ory HydraOry Kratos를 활용하면 OAuth 2.0 및 OIDC 기반의 인증 시스템을 쉽게 구축할 수 있습니다.

✅ Ory Hydra: OIDC 인증을 위한 솔루션

Ory Hydra는 OAuth 2.0 및 OIDC 기반의 인증 서버 역할을 합니다. 쉽게 말해 Google, Facebook 같은 OIDC Provider를 직접 구축할 수 있도록 도와줍니다.

📌 Ory Hydra의 역할

  • OAuth 2.0 및 OIDC 기반 인증 제공
  • Access Token 및 ID Token 발급
  • OpenID Provider 역할 수행 (SSO 지원)
  • 다양한 클라이언트(웹, 모바일 앱)에서 로그인 및 인증 가능

즉, Ory Hydra를 사용하면 OAuth 2.0 + OIDC 인증 서버를 직접 운영할 수 있습니다.

✅ Ory Kratos: 사용자 관리까지 해결!

Ory Kratos는 **사용자 계정 관리(User Management)**를 담당하는 제품입니다.

📌 Ory Kratos의 역할

  • 사용자 계정 등록/로그인 관리
  • OAuth 2.0 및 OIDC 연동 가능
  • 비밀번호 로그인, 소셜 로그인(Google, GitHub 등) 지원
  • 세션 및 다중 인증(MFA) 관리

즉, Ory Kratos를 사용하면 OIDC 기반 사용자 인증과 계정 관리를 모두 해결할 수 있습니다.


OIDC + Ory를 사용해야 하는 이유

OAuth 2.0의 보안 문제 해결 (ID Token 포함)

JWT 기반 인증 (서버 간 인증 가능)

SSO(Single Sign-On) 지원

사용자 정보 보호 및 OAuth 2.0 기반 API 인증 가능

 

💡 즉, Ory Hydra와 Kratos를 조합하면 강력한 OIDC 기반 인증 시스템을 쉽게 구축할 수 있습니다! 🚀