A cloud-based identity and access management service for securing user authentication and resource access
Supported way to enable passkey ("Face, fingerprint, PIN or security key") sign-in for Microsoft Entra users inside an iOS app — passkey appears in mobile Safari but not in our embedded sign-in surface
I'm building an iOS application that integrates Microsoft Entra ID sign-in. Some of our customers have Conditional Access policies that require phishing-resistant authentication (passkey). When those users sign in via
mobile Safari directly, the "Face, fingerprint, PIN or security key" option appears alongside federated providers and they can complete sign-in. When the same users sign in inside our iOS app's embedded sign-in surface,
that option does not appear — only federated providers are listed — so they cannot satisfy the Conditional Access policy and receive AADSTS53003.
I want to make sure my iOS app is using a Microsoft-supported sign-in surface so passkey works correctly. I'd appreciate guidance on:
- Supported iOS sign-in surfaces. Which iOS web/auth surfaces are officially supported by Microsoft Entra ID for FIDO2/passkey sign-in? Specifically: ASWebAuthenticationSession, SFSafariViewController, WKWebView, MSAL
with broker (Microsoft Authenticator). Is there a documented support matrix?
- What determines which methods are shown. What does the Microsoft Entra sign-in page use to decide whether to render the passkey option — WebAuthn capability detection
(PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()), the request's authentication context, the user's authentication-methods policy, app registration settings, or a combination?
- MSAL + broker on iOS. When using MSAL for iOS with Microsoft Authenticator as broker, what makes passkey sign-in succeed end-to-end? Are there configuration steps beyond adding MSAL — app registration redirect URIs,
entitlements, broker availability checks — that are required?
- Request parameters. Are there OIDC/SAML request parameters (prompt, acr_values, amr_values, authentication context class) that an app should include to ensure phishing-resistant methods are surfaced when the tenant's
CA policy requires them?
- Documentation. Could you point to the canonical Microsoft Learn / Identity Platform docs covering (a) supported iOS authentication surfaces for FIDO2/passkey and (b) the request parameters above?
- Repro tenant config. What's the minimum tenant configuration (authentication-methods policy, CA policy, app registration) needed to reproduce this on a test tenant so I can verify my fix?