Azure AD B2C 사용자 지정 정책에서 Microsoft Entra ID SSPR 기술 프로필 정의

참고 항목

Azure Active Directory B2C에서 사용자 지정 정책은 주로 복잡한 시나리오를 해결하기 위해 설계되었습니다. 대부분의 시나리오에서 기본 제공 사용자 흐름을 사용하는 것이 좋습니다. 아직 수행하지 않았다면 Active Directory B2C에서 사용자 지정 정책 시작하기에서 사용자 지정 정책 스타터 팩에 대해 알아봅니다.

Azure AD B2C(Azure Active Directory B2C)는 SSPR(셀프 서비스 암호 재설정)을 위한 이메일 주소 확인을 지원합니다. Microsoft Entra ID SSPR 기술 프로필을 사용하여 코드를 생성하고 메일 주소로 보낸 다음 코드를 확인합니다. Microsoft Entra ID SSPR 기술 프로필도 오류 메시지를 반환할 수 있습니다. 유효성 검사 기술 프로필은 사용자 경험을 계속하기 전에 사용자가 제공한 데이터의 유효성을 검사합니다. 유효성 검사 기술 프로필을 사용하면 자체 어설션된 페이지에 오류 메시지가 표시됩니다.

이 기술 프로필은 다음과 같은 특징이 있습니다.

  • 사용자와 상호 작용하는 인터페이스를 제공하지 않습니다. 대신 사용자 인터페이스는 자체 어설션된 기술 프로필 또는 디스플레이 컨트롤에서 유효성 검사 기술 프로필호출됩니다.
  • Microsoft Entra SSPR 서비스를 사용하여 코드를 생성하고 이메일 주소로 보낸 다음 코드를 확인합니다.
  • 확인 코드를 통해 이메일 주소의 유효성을 검사합니다.

프로토콜

Protocol 요소의 Name 특성을 .로 설정Proprietary해야 합니다. handler 특성은 Azure AD B2C에서 사용되는 프로토콜 처리기 어셈블리의 정규화된 이름을 포함해야 합니다.

Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

다음 예제에서는 Microsoft Entra ID SSPR 기술 프로필을 보여 줍니다.

<TechnicalProfile Id="AadSspr-SendCode">
  <DisplayName>Send Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

이메일 보내기

이 기술 프로필의 첫 번째 모드는 코드를 생성하고 전송하는 것입니다. 이 모드에 대해 다음과 같은 옵션을 구성할 수 있습니다.

입력 클레임

InputClaims 요소는 Microsoft Entra SSPR로 보낼 클레임 목록을 포함합니다. 클레임 이름을 SSPR 기술 프로필에서 정의된 이름에 매핑할 수도 있습니다.

ClaimReferenceId Required 설명
emailAddress 전자 메일 주소를 소유한 사용자의 식별자입니다. PartnerClaimType 입력 클레임의 속성을 .로 emailAddress설정해야 합니다.

InputClaimsTransformations 요소는 Microsoft Entra SSPR 서비스로 보내기 전에 입력 클레임을 수정하거나 새 입력 클레임을 생성하는 데 사용되는 InputClaimsTransformation 요소 컬렉션을 포함할 수 있습니다.

출력 클레임

Microsoft Entra SSPR 프로토콜 공급자는 OutputClaims를 반환하지 않으므로 출력 클레임을 지정할 필요가 없습니다. 그러나 DefaultValue 특성만 설정하면 Microsoft Entra SSPR 프로토콜 공급자가 반환하지 않은 클레임도 포함할 수 있습니다.

OutputClaimsTransformations 요소에는 출력 클레임을 수정하거나 새 클레임을 생성하는 데 사용되는 OutputClaimsTransformation 요소의 컬렉션이 포함될 수 있습니다.

메타데이터

Attribute Required 설명
연산 SendCode여야 합니다.

UI 요소

다음 메타데이터를 사용하여 SMS를 보낼 때 표시되는 오류 메시지를 구성할 수 있습니다. 메타데이터는 자체 어설션된 기술 프로필에서 구성해야 합니다. 오류 메시지를 지역화수 있습니다.

Attribute Required 설명
UserMessageIfInternalError 아니요 서버에 내부 오류가 발생한 경우 사용자 오류 메시지입니다.
UserMessageIfThrottled 아니요 요청이 제한된 경우 사용자 오류 메시지입니다.

예: 전자 메일 보내기

다음 예제에서는 전자 메일을 통해 코드를 보내는 데 사용되는 Microsoft Entra ID SSPR 기술 프로필을 보여 줍니다.

<TechnicalProfile Id="AadSspr-SendCode">
  <DisplayName>Send Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">SendCode</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
  </InputClaims>
</TechnicalProfile>

코드 확인

이 기술 프로필의 두 번째 모드는 코드를 확인하는 것입니다. 이 모드에 대해 다음과 같은 옵션을 구성할 수 있습니다.

입력 클레임

InputClaims 요소는 Microsoft Entra SSPR로 보낼 클레임 목록을 포함합니다. 클레임 이름을 SSPR 기술 프로필에서 정의된 이름에 매핑할 수도 있습니다.

ClaimReferenceId Required 설명
emailAddress 이전에 코드를 보내는 데 사용한 것과 동일한 전자 메일 주소입니다. 전자 메일 확인 세션을 찾는 데도 사용됩니다. PartnerClaimType 입력 클레임의 속성을 .로 emailAddress설정해야 합니다.
verificationCode 확인할 사용자가 제공한 확인 코드입니다. PartnerClaimType 입력 클레임의 속성을 .로 verificationCode설정해야 합니다.

InputClaimsTransformations 요소는 Microsoft Entra SSPR 서비스로 보내기 전에 입력 클레임을 수정하거나 새 입력 클레임을 생성하는 데 사용되는 InputClaimsTransformation 요소 컬렉션을 포함할 수 있습니다.

출력 클레임

Microsoft Entra SSPR 프로토콜 공급자는 OutputClaims를 반환하지 않으므로 출력 클레임을 지정할 필요가 없습니다. 그러나 DefaultValue 특성만 설정하면 Microsoft Entra SSPR 프로토콜 공급자가 반환하지 않은 클레임도 포함할 수 있습니다.

OutputClaimsTransformations 요소에는 출력 클레임을 수정하거나 새 클레임을 생성하는 데 사용되는 OutputClaimsTransformation 요소의 컬렉션이 포함될 수 있습니다.

메타데이터

Attribute Required 설명
연산 VerifyCode여야 합니다.

UI 요소

다음 메타데이터를 사용하여 코드 확인 실패 시 표시되는 오류 메시지를 구성할 수 있습니다. 메타데이터는 자체 어설션된 기술 프로필에서 구성해야 합니다. 오류 메시지를 지역화수 있습니다.

Attribute Required 설명
UserMessageIfChallengeExpired 코드 확인 세션이 만료된 경우 사용자에게 표시할 메시지입니다. 코드가 만료되었거나 지정된 식별자에 대해 코드가 생성된 적이 없습니다.
UserMessageIfInternalError 서버에 내부 오류가 발생한 경우 사용자 오류 메시지입니다.
UserMessageIfThrottled 요청이 제한된 경우 사용자 오류 메시지입니다.
UserMessageIfVerificationFailedNoRetry 사용자가 잘못된 코드를 제공했으며 사용자가 올바른 코드를 제공할 수 없는 경우 사용자에게 표시할 메시지입니다.
UserMessageIfVerificationFailedRetryAllowed 사용자가 잘못된 코드를 제공했으며 사용자가 올바른 코드를 제공할 수 있는 경우 사용자에게 표시할 메시지입니다.

예제: 코드 확인

다음 예제에서는 코드를 확인하는 데 사용되는 Microsoft Entra ID SSPR 기술 프로필을 보여 줍니다.

<TechnicalProfile Id="AadSspr-VerifyCode">
  <DisplayName>Verify Code</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AadSsprProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyCode</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="verificationCode" PartnerClaimType="verificationCode" />
    <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailAddress"/>
  </InputClaims>
</TechnicalProfile>