사용자 고유의 비즈니스 논리를 사용하여 인증 흐름 확장
적용 대상: 인력 테넌트 외부 테넌트(자세한 정보)
Microsoft Entra 외부 ID 사용자 흐름은 유연성을 위해 설계되었습니다. 등록 및 로그인 사용자 흐름 내에는 기본 제공 인증 이벤트가 있습니다. 인증 흐름 내의 특정 지점에 사용자 지정 인증 확장을 추가할 수도 있습니다. 사용자 지정 인증 확장은 기본적으로 활성화될 때 워크플로 작업을 정의한 REST API 엔드포인트에 대한 HTTP 호출을 하는 이벤트 수신기입니다. 예를 들어, 특성 모음 워크플로를 추가하여 등록 시 사용자가 입력하는 특성의 유효성을 검사하거나, 토큰이 발급되기 전에 사용자 지정 클레임 공급자를 사용하여 외부 사용자 데이터를 토큰에 추가할 수 있습니다.
구성해야 하는 두 가지 구성 요소에는 사용자 지정 인증 확장과 REST API가 있습니다. 사용자 지정 인증 확장은 REST API를 호출해야 하는 경우 REST API 엔드포인트와 REST API를 호출하는 자격 증명을 지정합니다. 인증 흐름의 다음 지점에서 사용자 지정 인증 확장을 만들 수 있습니다.
- 등록 중, 특성 모음 전후:
- OnAttributeCollectionStart 이벤트는 특성 모음 페이지가 렌더링되기 전에 특성 모음 단계 시작 시 발생합니다.
- OnAttributeCollectionSubmit 이벤트는 사용자가 특성을 입력하고 제출한 후에 발생합니다.
- 토큰이 애플리케이션에 발급되기 직전에 트리거되는 OnTokenIssuanceStart 이벤트를 사용하여 토큰 발급 시.
이러한 지점 중 하나에서 사용자 지정 인증 확장을 구성한 경우 Microsoft Entra ID는 사용자가 정의한 REST API를 호출합니다. REST API에 대한 요청에는 이벤트, 사용자 프로필, 인증 요청 데이터 및 기타 컨텍스트 정보에 대한 정보가 포함됩니다. 그리고 그 결과 REST API가 워크플로 작업을 수행합니다.
이 문서에서는 Microsoft Entra 외부 ID의 사용자 지정 인증 확장에 대해 간략하게 설명합니다.
특성 모음 시작 및 제출 이벤트
사용자 지정 인증 확장을 사용하여 셀프 서비스 등록 사용자 흐름에서 특성 모음에 워크플로를 추가할 수 있습니다. 예를 들어 사용자 지정 값으로 특성 필드를 미리 채우고, 사용자의 입력에 대한 유효성을 검사하고, 특성을 수정하고, 오류를 표시할 수 있습니다. 두 가지 이벤트를 사용합니다.
OnAttributeCollectionStart - OnAttributeCollectionStart 이벤트는 특성 모음 페이지가 렌더링되기 전에 특성 모음 프로세스의 시작 부분에서 발생합니다. 이 이벤트는 사용자가 도메인에 따라 등록하지 못하게 하거나, 수집할 특성을 추가하는 등의 시나리오에 사용할 수 있습니다. OnAttributeCollectionStart 이벤트에 대해서는 다음 시나리오를 구성할 수 있습니다.
- continueWithDefaultBehavior - 평소와 같이 특성 컬렉션 페이지를 렌더링합니다.
- setPreFillValues - 등록 양식의 특성을 미리 채웁니다.
- showBlockPage - 오류 메시지를 표시하고 사용자가 등록하지 못하도록 차단합니다.
onAttributeCollectionSubmit - OnAttributeCollectionSubmit 이벤트는 사용자가 특성을 입력하고 제출한 후에 발생합니다. 이 이벤트는 사용자가 제공한 정보의 유효성 검사 또는 수정과 같은 시나리오에 사용할 수 있습니다. 예를 들어 초대 코드 또는 파트너 번호의 유효성을 검사하거나 주소 형식을 수정하거나 오류를 반환할 수 있습니다.
- continueWithDefaultBehavior - 등록 흐름을 계속합니다.
- modifyAttributeValues - 사용자가 등록 양식에서 제출한 값을 덮어씁니다.
- showValidationError - 제출된 값에 따라 오류를 반환합니다.
- showBlockPage - 오류 메시지를 표시하고 사용자가 등록하지 못하도록 차단합니다.
특성 모음 시작과 제출 이벤트를 구성하려면 사용자 지정 인증 확장 REST API를 만듭니다. 이벤트가 발생하면 Microsoft Entra ID는 REST API 엔드포인트에 HTTP 요청을 보냅니다. REST API는 Azure 함수, Azure 논리 앱 또는 다른 공개적으로 사용 가능한 API 엔드포인트일 수 있습니다. REST API 엔드포인트는 수행할 워크플로 작업을 정의해야 합니다.
자세한 내용은 사용자 흐름에 특성 모음 사용자 지정 확장 추가를 참조하세요.
토큰 발급 시작 이벤트
토큰 발급 시작 이벤트는 사용자가 모든 인증 챌린지를 완료하고 보안 토큰이 곧 발급될 때 트리거됩니다.
사용자가 Microsoft Entra ID를 사용하여 애플리케이션을 인증하면 보안 토큰이 애플리케이션에 반환됩니다. 보안 토큰에는 이름, 고유 식별자, 애플리케이션 역할 등 사용자에 대한 설명인 클레임이 포함되어 있습니다. 보안 토큰에 포함된 기본 클레임 집합 외에도 개발한 REST API를 사용하여 외부 시스템에서 고유한 사용자 지정 클레임을 정의할 수 있습니다.
경우에 따라 보조 이메일, 청구 계층 또는 중요한 정보와 같은 주요 데이터가 Microsoft Entra 외부 시스템에 저장될 수 있습니다. 외부 시스템의 정보를 Microsoft Entra 디렉터리에 저장하는 것이 항상 가능한 것은 아닙니다. 이러한 시나리오에서는 사용자 지정 인증 확장과 사용자 지정 클레임 공급자를 사용하여 이 외부 데이터를 애플리케이션에 반환된 토큰에 추가할 수 있습니다.
토큰 발급 이벤트 확장에는 다음 구성 요소가 포함됩니다.
사용자 지정 클레임 공급자. 사용자 지정 클레임 공급자는 외부 시스템에서 데이터를 가져오는 사용자 지정 인증 확장 형식입니다. 사용자 지정 클레임 공급자는 애플리케이션에 반환되는 보안 토큰에 추가할 특성을 지정합니다. 여러 클레임 공급자가 동일한 사용자 지정 확장을 공유할 수 있으므로 각 애플리케이션의 보안 토큰에 다양한 특성 집합을 추가할 수 있습니다.
REST API 엔드포인트. 이벤트가 발생하면 Microsoft Entra ID는 REST API 엔드포인트에 HTTP 요청을 보냅니다. REST API는 Azure 함수, Azure 논리 앱 또는 기타 공개적으로 사용 가능한 API 엔드포인트일 수 있습니다. REST API 엔드포인트는 다운스트림 데이터베이스, 기존 API, LDAP(Lightweight Directory Access Protocol) 디렉터리 또는 토큰 구성에 추가하려는 특성이 포함된 기타 저장소를 포함한 다양한 데이터 저장소와 인터페이스합니다.
REST API는 특성을 포함하는 Microsoft Entra ID에 대한 HTTP 응답이나 작업을 반환합니다. 이러한 특성은 토큰에 자동으로 추가되지 않습니다. 대신 토큰에 포함할 모든 특성에 대해 애플리케이션의 클레임 매핑 정책을 구성해야 합니다.
자세한 내용은 다음을 참조하세요.
- 사용자 지정 인증 확장 정보
- 사용자 지정 클레임 공급자를 사용하여 토큰 발급 이벤트에 대한 사용자 지정 클레임 공급자를 구성합니다.
참고 항목
- 사용자 지정 확장의 작동 방식에 대해 자세히 알아보려면 사용자 지정 인증 확장을 참조하세요.
- 토큰 발급 시작 이벤트로 REST API를 만듭니다.
- 토큰 발급 이벤트에 대한 사용자 지정 클레임 공급자를 구성합니다.
- 샘플 OpenID Connect 애플리케이션을 사용하여 특성 모음 시작과 제출 이벤트에 대한 사용자 정의 인증 확장을 구성하세요.
- 최신 개발자 콘텐츠 및 리소스는 Microsoft Entra 외부 ID 개발자 센터를 참조하세요.