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 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.
3,020 questions
{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.