Condividi tramite


Definire un profilo tecnico SSPR di Microsoft Entra ID in un criterio personalizzato di Azure AD B2C

Nota

In Azure Active Directory B2C i criteri personalizzati sono stati progettati principalmente per far fronte a scenari complessi. Per la maggior parte degli scenari, è consigliabile usare i flussi utente predefiniti. In caso contrario, vedere Introduzione ai criteri personalizzati in Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) fornisce supporto per la verifica di un indirizzo di posta elettronica per la reimpostazione della password self-service. Usare il profilo tecnico SSPR microsoft Entra ID per generare e inviare un codice a un indirizzo di posta elettronica e quindi verificare il codice. Il profilo tecnico SSPR di Microsoft Entra ID può anche restituire un messaggio di errore. Il profilo tecnico di convalida consente la convalida i dati specificati dall'utente prima che il percorso utente proceda. Con il profilo tecnico di convalida, viene visualizzato un messaggio di errore in una pagina autocertificata.

Questo profilo tecnico:

  • Non fornisce un'interfaccia per interagire con l'utente. L'interfaccia utente viene invece chiamata da un profilo tecnico autocertificato o da un controllo visualizzato come profilo tecnico di convalida.
  • Usa il servizio SSPR di Microsoft Entra per generare e inviare un codice a un indirizzo di posta elettronica e quindi verifica il codice.
  • Convalida un indirizzo di posta elettronica tramite un codice di verifica.

Protocollo

L'attributo Nome dell'elemento Protocollo deve essere impostato su Proprietary. L'attributo del gestore deve contenere il nome completo dell'assembly del gestore di protocollo usato da Azure AD B2C:

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

L'esempio seguente mostra un profilo tecnico SSPR di Microsoft Entra ID:

<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" />
    ...

Inviare un messaggio e-mail

La prima modalità di questo profilo tecnico consiste nel generare un codice e inviarlo. Per questa modalità è possibile configurare le opzioni seguenti.

Attestazioni di input

L'elemento InputClaims contiene un elenco di attestazioni da inviare a Microsoft Entra SSPR. È anche possibile eseguire il mapping del nome dell'attestazione al nome definito nel profilo tecnico della reimpostazione della password self-service.

ClaimReferenceId Richiesto Descrizione
emailAddress Identificatore dell'utente proprietario dell'indirizzo di posta elettronica. La PartnerClaimType proprietà dell'attestazione di input deve essere impostata su emailAddress.

L'elemento InputClaimsTransformations può contenere una raccolta di elementi InputClaimsTransformation utilizzati per modificare le attestazioni di input o generarne di nuove prima di inviarle al servizio SSPR di Microsoft Entra.

Attestazioni di output

Il provider di protocollo SSPR di Microsoft Entra non restituisce outputClaims , pertanto non è necessario specificare le attestazioni di output. È tuttavia possibile includere attestazioni che non vengono restituite dal provider di protocollo SSPR di Microsoft Entra purché l'attributo DefaultValue sia impostato.

L'elemento OutputClaimsTransformations può contenere una raccolta di elementi OutputClaimsTransformation che vengono usati per modificare le attestazioni di output o per generarne di nuove.

Metadati UFX

Attributo Richiesto Descrizione
Operazione Deve essere SendCode.

Elementi dell'interfaccia utente

I metadati seguenti possono essere usati per configurare i messaggi di errore visualizzati durante l'invio di un errore SMS. I metadati devono essere configurati nel profilo tecnico autocertificato . I messaggi di errore possono essere localizzati.

Attributo Richiesto Descrizione
UserMessageIfInternalError No Messaggio di errore dell'utente se il server ha rilevato un errore interno.
UserMessageIfThrottled No Messaggio di errore dell'utente se una richiesta è stata limitata.

Esempio: inviare un messaggio di posta elettronica

Nell'esempio seguente viene illustrato un profilo tecnico SSPR di Microsoft Entra ID usato per inviare un codice tramite posta elettronica.

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

Verifica il codice

La seconda modalità di questo profilo tecnico consiste nel verificare un codice. Per questa modalità è possibile configurare le opzioni seguenti.

Attestazioni di input

L'elemento InputClaims contiene un elenco di attestazioni da inviare a Microsoft Entra SSPR. È anche possibile eseguire il mapping del nome dell'attestazione al nome definito nel profilo tecnico della reimpostazione della password self-service.

ClaimReferenceId Richiesto Descrizione
emailAddress Stesso indirizzo di posta elettronica usato in precedenza per inviare un codice. Viene usato anche per individuare una sessione di verifica tramite posta elettronica. La PartnerClaimType proprietà dell'attestazione di input deve essere impostata su emailAddress.
verificationCode Codice di verifica fornito dall'utente da verificare. La PartnerClaimType proprietà dell'attestazione di input deve essere impostata su verificationCode.

L'elemento InputClaimsTransformations può contenere una raccolta di elementi InputClaimsTransformation utilizzati per modificare le attestazioni di input o generarne di nuove prima di chiamare il servizio SSPR di Microsoft Entra.

Attestazioni di output

Il provider di protocollo SSPR di Microsoft Entra non restituisce outputClaims , pertanto non è necessario specificare le attestazioni di output. È tuttavia possibile includere attestazioni che non vengono restituite dal provider di protocollo SSPR di Microsoft Entra purché l'attributo DefaultValue sia impostato.

L'elemento OutputClaimsTransformations può contenere una raccolta di elementi OutputClaimsTransformation che vengono usati per modificare le attestazioni di output o per generarne di nuove.

Metadati UFX

Attributo Richiesto Descrizione
Operazione Deve essere VerifyCode

Elementi dell'interfaccia utente

I metadati seguenti possono essere usati per configurare i messaggi di errore visualizzati in caso di errore di verifica del codice. I metadati devono essere configurati nel profilo tecnico autocertificato . I messaggi di errore possono essere localizzati.

Attributo Richiesto Descrizione
UserMessageIfChallengeExpired Messaggio da visualizzare all'utente se la sessione di verifica del codice è scaduta. Il codice è scaduto o il codice non è mai stato generato per un determinato identificatore.
UserMessageIfInternalError Messaggio di errore dell'utente se il server ha rilevato un errore interno.
UserMessageIfThrottled Messaggio di errore dell'utente se una richiesta è stata limitata.
UserMessageIfVerificationFailedNoRetry Messaggio da visualizzare all'utente se ha fornito un codice non valido e l'utente non è autorizzato a fornire il codice corretto.
UserMessageIfVerificationFailedRetryAllowed Messaggio da visualizzare all'utente se ha fornito un codice non valido e l'utente può fornire il codice corretto.

Esempio: verificare un codice

Nell'esempio seguente viene illustrato un profilo tecnico SSPR di Microsoft Entra ID usato per verificare il codice.

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