Azure Ad B2c PhoneFactor-Verify skip the send screen

Henry Mao 21 Reputation points
2022-06-22T07:27:52.347+00:00

I created an azure ad b2c policy with UserJourney that include an PhoneFactor-Verify step.
I have a TechnicalProfile PhoneFactor-Verify: with ManualPhoneNumberEntryAllowed set to false, so user can NOT change registered phone number.

 <TechnicalProfile Id="PhoneFactor-Verify">  
          <DisplayName>PhoneFactor</DisplayName>  
          <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />  
          <Metadata>  
            <Item Key="ContentDefinitionReferenceId">api.phonefactor</Item>  
            <Item Key="ManualPhoneNumberEntryAllowed">false</Item>  
          </Metadata>  
          <CryptographicKeys>  
            <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />  
          </CryptographicKeys>  
          <InputClaimsTransformations>  
            <InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />  
          </InputClaimsTransformations>  
          <InputClaims>  
            <InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="userId" />  
            <InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />  
          </InputClaims>  
          <OutputClaims>  
            <OutputClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" PartnerClaimType="Verified.OfficePhone" />  
          </OutputClaims>  
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-MFA" />  
        </TechnicalProfile>  
  

when I run it, I got this screen:

213735-image.png

Is there a way to skip this screen and "send code" automatically? and progress to next validation screen?

I assume I can embed a java script snippet to "click" on the "send code" button, but seems it is a hack.
Is there some thing I can do in policy to skip the click of "send code"?

Azure FastTrack
Azure FastTrack
Azure: A cloud computing platform and infrastructure for building, deploying and managing applications and services through a worldwide network of Microsoft-managed datacenters.FastTrack: A Microsoft program that helps customers adopt Microsoft Cloud solutions and drive user adoption.
75 questions
Microsoft Entra External ID
Microsoft Entra External ID
A modern identity solution for securing access to customer, citizen and partner-facing apps and services. It is the converged platform of Azure AD External Identities B2B and B2C. Replaces Azure Active Directory External Identities.
2,578 questions
Microsoft Entra ID
Microsoft Entra ID
A Microsoft Entra identity service that provides identity management and access control capabilities. Replaces Azure Active Directory.
18,715 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Henry Mao 21 Reputation points
    2022-06-23T23:10:14.577+00:00

    OK, I just saw this setting: setting.autodial which works fine for me!.

    so my modifed PhoneFactor-Verify is:
    <TechnicalProfile Id="PhoneFactor-Verify">
    <DisplayName>PhoneFactor</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.PhoneFactorProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
    <Item Key="ContentDefinitionReferenceId">cd.verify_otp</Item>
    <Item Key="ManualPhoneNumberEntryAllowed">false</Item>
    <Item Key="setting.authenticationMode">sms</Item>
    <Item Key="setting.autodial">true</Item>
    </Metadata>
    <CryptographicKeys>
    <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
    </CryptographicKeys>
    <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />
    </InputClaimsTransformations>
    <InputClaims>
    <InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="UserId" />
    <InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
    </InputClaims>
    <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" PartnerClaimType="Verified.OfficePhone" />
    <OutputClaim ClaimTypeReferenceId="newPhoneNumberEntered" PartnerClaimType="newPhoneNumberEntered" />
    </OutputClaims>
    <UseTechnicalProfileForSessionManagement ReferenceId="SM-MFA" />
    </TechnicalProfile>