OpenID Connect: 사용자 신원 데이터 확보를 위한 개발자 가이드 (KO)
OpenID Connect(OIDC)가 OAuth 2.0을 기반으로 사용자 신원을 안전하게 확인하고 신원 데이터를 얻는 표준화된 방법을 제공하는 방법을 알아보세요. 이 가이드에서는 클레임, 흐름 및 구현 세부 사항을 다룹니다.

OpenID Connect: 사용자 신원 데이터 확보를 위한 개발자 가이드
오늘날 상호 연결된 디지털 환경에서 사용자 신원을 안전하게 관리하는 것이 가장 중요합니다. OAuth 2.0은 사용자를 대신하여 리소스에 대한 액세스를 부여하는 권한 부여에 뛰어나지만 사용자 정보를 본질적으로 제공하지는 않습니다. 바로 OpenID Connect (OIDC)가 필요한 부분입니다. OIDC는 OAuth 2.0 위에 구축된 신원 계층으로, 사용자 신원을 확인하고 기본 프로필 정보를 얻는 표준화된 방법을 제공합니다. 이 가이드에서는 OpenID Connect의 핵심 개념, 이점 및 개발자를 위한 실용적인 구현 고려 사항을 자세히 살펴봅니다.
핵심 요약
OIDC는 OAuth 2.0을 기반으로 구축됨: OIDC는 인증 및 권한 부여를 위해 OAuth 2.0 프레임워크를 활용하고 신원 계층을 추가합니다.
ID 토큰: JWT 기반 ID 토큰은 인증된 사용자 신원 데이터를 안전하게 전송합니다.
클레임: OIDC는 상호 운용성을 위해 표준화된 사용자 정보 조각을 나타내는 '클레임'을 사용합니다.
표준화된 흐름: OIDC는 다양한 애플리케이션 유형(웹, 모바일, 네이티브)을 위한 여러 흐름을 정의하여 통합을 간소화합니다.
OpenID Connect란 무엇입니까?
OpenID Connect (OIDC)는 OAuth 2.0 권한 부여 프레임워크 위에 구축된 인증 계층입니다. 권한 서버에서 수행된 인증을 기반으로 애플리케이션이 최종 사용자의 신원을 확인하는 표준화된 방법을 제공합니다. 특히 OIDC는 인증된 사용자에 대한 클레임을 포함하는 JSON 웹 토큰(JWT)인 ID 토큰이라는 개념을 도입합니다. 이러한 클레임은 사용자 이름, 이메일 주소 및 프로필 사진과 같은 필수 신원 데이터를 제공합니다. 리소스에 대한 액세스를 부여하는 OAuth 2.0 액세스 토큰과 달리 ID 토큰은 사용자 신원을 확인하기 위해 특별히 설계되었습니다.
OAuth 2.0을 문을 열 수 있는 열쇠로 생각하고 OIDC를 열쇠를 받기 전에 본인이 누구인지 증명하는 배지로 생각하십시오. OIDC가 없으면 애플리케이션은 사용자가 권한이 있는지 뿐만 아니라 OIDC를 사용하면 사용자가 누구인지 알 수 있습니다.
OIDC 클레임 이해
클레임은 OIDC에서 신원 데이터의 기본 구성 요소입니다. 이름, 이메일 또는 주소와 같은 사용자에 대한 설명입니다. OIDC는 다른 신원 공급자(IdP)와 애플리케이션 간의 상호 운용성을 보장하기 위해 표준 클레임 세트를 정의합니다. 일반적으로 사용되는 클레임에는 다음이 포함됩니다.
sub: 주체 식별자 – 사용자에 대한 고유 ID.name: 사용자 전체 이름.given_name: 사용자 이름.family_name: 사용자 성.email: 사용자 이메일 주소.picture: 사용자 프로필 사진 URL.aud: 대상 – ID 토큰을 수신하는 애플리케이션의 클라이언트 ID.iss: 발급자 – ID 토큰을 발급한 권한 서버 URL.exp: 만료 시간 – ID 토큰이 유효하지 않은 타임스탬프.
애플리케이션은 인증 프로세스 중에 특정 클레임을 요청할 수 있습니다. IdP는 요청된 클레임만 ID 토큰에 포함하여 공유되는 정보의 양을 최소화합니다. 사용자 지정 클레임을 정의할 수도 있지만 최대 호환성을 위해 표준화된 클레임을 사용하는 것이 좋습니다.
OIDC 흐름: PKCE를 사용한 권한 부여 코드 흐름
OIDC는 다양한 애플리케이션 유형에 맞게 조정된 여러 흐름을 지원합니다. 최신 웹 애플리케이션에 가장 일반적이고 권장되는 흐름은 Proof Key for Code Exchange (PKCE)를 사용한 권한 부여 코드 흐름입니다. 이 흐름은 권한 부여 코드 가로채기 공격에 대한 보안을 강화합니다.
다음은 단순화된 개요입니다.
- 애플리케이션은 코드 확인자 및 코드 챌린지를 생성합니다.
- 애플리케이션은 코드 챌린지와 함께 사용자를 권한 서버로 리디렉션합니다.
- 사용자는 권한 서버에서 인증합니다.
- 권한 서버는 사용자를 권한 부여 코드와 함께 애플리케이션으로 리디렉션합니다.
- 애플리케이션은 권한 부여 코드 및 코드 확인자를 ID 토큰 및 액세스 토큰으로 교환합니다.
- 애플리케이션은 ID 토큰을 확인하고 클레임을 사용하여 사용자를 식별합니다.
Didit을 사용한 OIDC 통합
Didit은 포괄적인 플랫폼과 개발자 친화적인 API를 통해 OIDC 통합을 단순화합니다. 당사의 플랫폼은 OIDC의 복잡성을 처리하므로 애플리케이션 구축에 집중할 수 있습니다. 주요 기능은 다음과 같습니다.
- 사전 구축된 OIDC 커넥터: Google, Facebook 및 Microsoft와 같은 인기 신원 공급자와의 원활한 통합.
- 사용자 지정 가능한 클레임: 애플리케이션의 요구 사항에 맞는 특정 클레임을 요청합니다.
- 안전한 토큰 유효성 검사: 진위성을 보장하기 위한 ID 토큰의 자동 유효성 검사.
- 워크플로 오케스트레이션: OIDC 인증을 통합하는 사용자 지정 신원 흐름 구축.
Didit을 사용하면 개발자는 애플리케이션에서 OIDC 인증을 빠르고 안전하게 구현하여 개발 시간을 단축하고 보안 태세를 개선할 수 있습니다.
Didit은 어떻게 도움이 됩니까?
Didit은 OpenID Connect의 복잡성을 단순화하는 풀스택 신원 플랫폼을 제공합니다. OIDC 구현의 번거로운 작업을 처리하여 개발자는 다음을 수행할 수 있습니다.
- 개발 시간 단축: 사전 구축된 커넥터 및 직관적인 API는 통합을 가속화합니다.
- 보안 강화: 안전한 토큰 유효성 검사 및 PKCE 지원은 일반적인 공격으로부터 보호합니다.
- 사용자 경험 개선: 원활한 인증 흐름은 사용자에게 마찰을 최소화합니다.
- 신뢰성 있는 확장: Didit의 플랫폼은 대량의 인증 요청을 처리하도록 설계되었습니다.
시작할 준비가 되셨습니까?
OpenID Connect의 힘을 활용하고 애플리케이션의 인증 프로세스를 간소화할 준비가 되셨습니까?
무료 Didit 계정에 가입하고 Didit Docs에서 포괄적인 문서를 살펴보세요. 오늘 안전하고 확장 가능한 애플리케이션 구축을 시작하세요!
FAQ
OAuth 2.0과 OpenID Connect의 차이점은 무엇입니까?
OAuth 2.0은 사용자를 대신하여 애플리케이션이 리소스에 액세스할 수 있도록 하는 권한 부여 프레임워크입니다. OpenID Connect는 OAuth 2.0 위에 구축된 신원 계층으로, 사용자 신원을 확인하고 신원 데이터를 얻는 표준화된 방법을 제공합니다.
ID 토큰이란 무엇입니까?
ID 토큰은 인증된 사용자에 대한 클레인을 포함하는 JSON 웹 토큰(JWT)입니다. 권한 서버에서 성공적으로 인증한 후 발급되며 애플리케이션에서 사용자를 식별하는 데 사용됩니다.
OIDC의 클레임은 무엇입니까?
클레임은 이름, 이메일 주소 및 프로필 사진과 같은 사용자에 대한 설명입니다. OIDC는 다른 신원 공급자와 애플리케이션 간의 상호 운용성을 보장하기 위해 표준 클레임 세트를 정의합니다.
OIDC는 안전한가요?
예, OIDC는 올바르게 구현된 경우 안전한 프로토콜입니다. 권한 부여 코드 가로채기 공격에 대한 보안을 강화하는 최신 웹 애플리케이션에 권장되는 흐름은 PKCE를 사용하는 권한 부여 코드 흐름입니다. 신뢰할 수 있는 신원 공급자를 사용하고 ID 토큰을 유효성 검사하는 것이 보안에 중요합니다.