Enable both Phone and ToTP methods in Azure B2C CA via custom policy

robcool 116 Reputation points
2022-06-20T04:07:56.84+00:00

I'm using Azure B2C to implement MFA via custom policy for external Azure AD IDP.

Can I use Authenticator app in addition to Phone/SMS MFA methods via custom policy ? Or does it need to be either Phone verification or Authenticator app ?

I'm able to successfully implement Phone verification methods (i.e. SMS/Call) via custom policy however, when I added the code for TOTP (from https://github.com/azure-ad-b2c/samples/blob/master/policies/totp/policy/TrustFrameworkExtensions_TOTPMigration.xml) it doesn't trigger anything rather it always shows the Phone verification method (Call Me, Send Code) instead.

Any pointers would be really helpful.

Thank you.

Microsoft Security | Microsoft Entra | Microsoft Entra External ID
{count} votes

1 answer

Sort by: Most helpful
  1. robcool 116 Reputation points
    2022-07-05T01:58:03.243+00:00

    Hi @Sandeep G-MSFT
    I was able to configure MFA via Conditional access policy using custom policy. However it presents only Phone (SMS/Call) options. Can I add Authenticator app as a method for second factor via custom policy. The below subjourney "MFA-ExtraUserVerification" has only PhoneFactor-InputOrVerify. Is it possible to add MS Authenticator method here ?
    <SubJourney Id="MFA-ExtraUserVerification" Type="Call">
    <OrchestrationSteps>
    <!-- MFA phone
    Note: It's recommanded it a phone number isn't registred to block the user -->
    <OrchestrationStep Order="1" Type="ClaimsExchange">
    <ClaimsExchanges>
    <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" />
    </ClaimsExchanges>
    </OrchestrationStep>
    <OrchestrationStep Order="2" Type="ClaimsExchange">
    <Preconditions>
    <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
    <Value>newPhoneNumberEntered</Value>
    <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
    </Preconditions>
    <ClaimsExchanges>
    <ClaimsExchange Id="AADUserWriteWithObjectId" TechnicalProfileReferenceId="AAD-UserWritePhoneNumberUsingObjectId" />
    </ClaimsExchanges>
    </OrchestrationStep>
    </OrchestrationSteps>
    </SubJourney>

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.