Een technisch profiel voor Microsoft Entra ID SSPR definiëren in een aangepast Azure AD B2C-beleid

Notitie

In Azure Active Directory B2C is aangepast beleid voornamelijk bedoeld om met complexe scenario's om te gaan. Voor de meeste scenario's wordt aangeraden ingebouwde gebruikersstromen te gebruiken. Als u dit nog niet hebt gedaan, vindt u meer informatie over aangepast beleid in het starterspakket in Aan de slag met aangepaste beleidsregels in Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) biedt ondersteuning voor het verifiëren van een e-mailadres voor selfservice voor wachtwoordherstel (SSPR). Gebruik het technische profiel van Microsoft Entra ID SSPR om een code te genereren en te verzenden naar een e-mailadres en controleer de code. Het technische profiel van Microsoft Entra ID SSPR kan ook een foutbericht retourneren. Het technische validatieprofiel valideert de door de gebruiker verstrekte gegevens voordat het gebruikerstraject wordt voortgezet. Met het technische validatieprofiel wordt een foutbericht weergegeven op een zelf-gecontroleerde pagina.

Dit technische profiel:

  • Biedt geen interface voor interactie met de gebruiker. In plaats daarvan wordt de gebruikersinterface aangeroepen vanuit een zelf-gecontroleerd technisch profiel of een weergavebesturingselement als een validatie technisch profiel.
  • Maakt gebruik van de Microsoft Entra SSPR-service om een code te genereren en te verzenden naar een e-mailadres en controleert vervolgens de code.
  • Hiermee valideert u een e-mailadres via een verificatiecode.

Protocol

Het kenmerk Naam van het element Protocol moet worden ingesteld op Proprietary. Het kenmerk handler moet de volledig gekwalificeerde naam bevatten van de protocolhandlerassembly die wordt gebruikt door Azure AD B2C:

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

In het volgende voorbeeld ziet u een technisch profiel voor 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" />
    ...

E-mailbericht versturen

De eerste modus van dit technische profiel is het genereren van een code en het verzenden ervan. De volgende opties kunnen worden geconfigureerd voor deze modus.

Invoerclaims

Het element InputClaims bevat een lijst met claims die naar Microsoft Entra SSPR moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische SSPR-profiel.

ClaimReferenceId Vereist Beschrijving
emailAddress Ja De id voor de gebruiker die eigenaar is van het e-mailadres. De PartnerClaimType eigenschap van de invoerclaim moet worden ingesteld op emailAddress.

Het element InputClaimsTransformations kan een verzameling InputClaimsTransformation-elementen bevatten die worden gebruikt om de invoerclaims te wijzigen of nieuwe elementen te genereren voordat ze naar de Microsoft Entra SSPR-service worden verzonden.

Uitvoerclaims

De Microsoft Entra SSPR-protocolprovider retourneert geen OutputClaims, dus u hoeft geen uitvoerclaims op te geven. U kunt echter claims opnemen die niet worden geretourneerd door de Microsoft Entra SSPR-protocolprovider zolang u het DefaultValue kenmerk instelt.

Het element OutputClaimsTransformations kan een verzameling OutputClaimsTransformation-elementen bevatten die worden gebruikt om uitvoerclaims te wijzigen of nieuwe te genereren.

Metagegevens

Kenmerk Vereist Beschrijving
Operation Ja Moet SendCode zijn.

UI-elementen

De volgende metagegevens kunnen worden gebruikt om de foutberichten te configureren die worden weergegeven bij het verzenden van sms-fouten. De metagegevens moeten worden geconfigureerd in het zelf-gecontroleerde technische profiel. De foutberichten kunnen worden gelokaliseerd.

Kenmerk Vereist Beschrijving
UserMessageIfInternalError Nee Foutbericht van de gebruiker als er een interne fout is opgetreden op de server.
UserMessageIfThrottled Nee Foutbericht van de gebruiker als een aanvraag is beperkt.

Voorbeeld: een e-mailbericht verzenden

In het volgende voorbeeld ziet u een technisch profiel voor Microsoft Entra ID SSPR dat wordt gebruikt om een code via e-mail te verzenden.

<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>

Code verifiëren

De tweede modus van dit technische profiel is het verifiëren van een code. De volgende opties kunnen worden geconfigureerd voor deze modus.

Invoerclaims

Het element InputClaims bevat een lijst met claims die naar Microsoft Entra SSPR moeten worden verzonden. U kunt ook de naam van uw claim toewijzen aan de naam die is gedefinieerd in het technische SSPR-profiel.

ClaimReferenceId Vereist Beschrijving
emailAddress Ja Hetzelfde e-mailadres als eerder is gebruikt om een code te verzenden. Het wordt ook gebruikt om een e-mailverificatiesessie te vinden. De PartnerClaimType eigenschap van de invoerclaim moet worden ingesteld op emailAddress.
verificationCode Ja De verificatiecode van de gebruiker die moet worden geverifieerd. De PartnerClaimType eigenschap van de invoerclaim moet worden ingesteld op verificationCode.

Het element InputClaimsTransformations kan een verzameling InputClaimsTransformation-elementen bevatten die worden gebruikt om de invoerclaims te wijzigen of nieuwe elementen te genereren voordat de Microsoft Entra SSPR-service wordt aangeroepen.

Uitvoerclaims

De Microsoft Entra SSPR-protocolprovider retourneert geen OutputClaims, dus u hoeft geen uitvoerclaims op te geven. U kunt echter claims opnemen die niet worden geretourneerd door de Microsoft Entra SSPR-protocolprovider zolang u het DefaultValue kenmerk instelt.

Het element OutputClaimsTransformations kan een verzameling OutputClaimsTransformation-elementen bevatten die worden gebruikt om uitvoerclaims te wijzigen of nieuwe te genereren.

Metagegevens

Kenmerk Vereist Beschrijving
Operation Ja Moet VerifyCode zijn

UI-elementen

De volgende metagegevens kunnen worden gebruikt om de foutberichten te configureren die worden weergegeven bij het mislukken van een codeverificatie. De metagegevens moeten worden geconfigureerd in het zelf-gecontroleerde technische profiel. De foutberichten kunnen worden gelokaliseerd.

Kenmerk Vereist Beschrijving
UserMessageIfChallengeExpired Het bericht dat aan de gebruiker moet worden weergegeven als de codeverificatiesessie is verlopen. De code is verlopen of de code is nooit gegenereerd voor een bepaalde id.
UserMessageIfInternalError Foutbericht van de gebruiker als er een interne fout is opgetreden op de server.
UserMessageIfThrottled Foutbericht van de gebruiker als een aanvraag is beperkt.
UserMessageIfVerificationFailedNoRetry Het bericht dat aan de gebruiker moet worden weergegeven als ze een ongeldige code hebben opgegeven en de gebruiker de juiste code niet mag opgeven.
UserMessageIfVerificationFailedRetryAllowed Het bericht dat aan de gebruiker moet worden weergegeven als ze een ongeldige code hebben opgegeven en de gebruiker de juiste code mag opgeven.

Voorbeeld: een code verifiëren

In het volgende voorbeeld ziet u een technisch profiel voor Microsoft Entra ID SSPR dat wordt gebruikt om de code te verifiëren.

<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>