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>