A cloud-based identity and access management service for securing user authentication and resource access
Good news: this isn't a random regression. It's how the registration-scoped authentication strength is designed to work, and it's an easy trap to fall into once you're running Phishing-Resistant MFA on your app-access policies.
What's actually happening
Conditional Access evaluates the Register Security Info interrupt wizard a little differently than normal sign-in. Authentication strengths scoped to the Register security information user action take precedence over anything scoped to All resources. So if your registration policy (the one with location/device restrictions you mentioned) is also set to Phishing-Resistant MFA, that's the policy governing the wizard, and it's requiring the exact credential the user is there to create. That's the loop.
Separately, Microsoft tightened session freshness for this flow: since August 25, 2025, managing security info at My Sign-ins requires a session no older than 10 minutes, and adding or modifying a passkey specifically requires 5 minutes. So even a well-scoped policy can trip this if the user's session has gone stale. Worth ruling out before you assume it's purely the policy.
The fix: split registration from enforcement
Jan Bakker has the cleanest writeup of this pattern I've seen, and it maps directly onto your setup. Short version: don't let one policy cover both jobs. Run two (really three, with app coverage):
- Bootstrap & Recovery policy, scoped to Register security information, using a custom authentication strength that allows Password + Authenticator push or TAP. This is what lets a user with no phishing-resistant method reach the wizard at all.
- Enforcement policies, scoped to All resources, requiring Phishing-Resistant MFA. Split these by platform (desktop vs. mobile), since the enrollment flow behaves differently on each.
- Exclude the Azure Credential Configuration Endpoint Service app from your mobile enforcement policy. If a user is upgrading from an existing MFA method to a passkey inside the Authenticator app, that upgrade flow breaks out of the Register security info action and talks to this endpoint directly, so your mobile policy will block it unless it's excluded.
TAP isn't your only option here, contrary to what you might read elsewhere. Password + an existing MFA method works fine as a bootstrap credential too, as long as your Bootstrap & Recovery policy's authentication strength permits it. Use TAP for new hires and true greenfield users; let everyone else upgrade with what they've already got.
One more thing worth adding to your rollout, separate from the CA fix: a registration campaign (Entra ID > Authentication methods > Registration campaign) is Microsoft's supported way to nudge already-enrolled users toward passkeys without waiting for enforcement. It runs after MFA succeeds, so it won't help your locked-out population, but it's the right lever once the Bootstrap policy is in place and you want the rest of your users moving over voluntarily. One thing to check if you go that route: if you restrict passkeys to specific hardware AAGUIDs, use the Enabled state rather than Microsoft managed, since Microsoft-managed eligibility only recognizes a short list of named providers (iCloud Keychain, Google Password Manager, Authenticator, Entra passkey on Windows) and will silently skip anyone outside that list.
Test all of this in Report-only first, and don't touch the enforcement policies until you've confirmed the Bootstrap policy actually gets users through the wizard.
References:
- Control security information registration with Conditional Access
- How Microsoft Entra authentication strength works in a Conditional Access policy
- Run a registration campaign to set up a passkey or Microsoft Authenticator
- Jan Bakker, You shall not pass(key)! (updated)
- Jan Bakker, Security Info Registration. Entra ID's rabbit hole.
Happy to go deeper on the AAGUID exclusion policy or the mobile-app-upgrade exclusion if useful.