MAUI: Fingerprint Authentication UI does not update before navigation

Sreenivasan, Sreejith 270 Reputation points
2025-12-02T09:40:26.5066667+00:00

I am working on a .NET MAUI app with biometric authentication. There is a pop-up appear when doing the authentication

Issue:

When the user taps the fingerprint sensor:

The pop-up title should change from "Fingerprint for Native 3" to "Sign in to Native 3".

The description should change from "Confirm your fingerprint now" to "Scan your finger to proceed".

  1. The finger icon should change to a tick icon.

The status text should change to "Fingerprint recognized".

Currently, none of these UI updates are visible. The app immediately closes the popup and navigates to the home page after successful authentication.

Expected Behavior:

The UI should update with the above 4 changes, then after a short delay, continue to home page.

Expected Screenshot:
25 Fingerpring Login 2 It is working fine in Xamarin version of the project (above screenshots are from Xamarin), and I have issue in the MAUI version.

Code:

private async void OnAuthComplete(bool success, string errorMessage)
{
    if (success)
    {
        // Currently, immediately runs login action
        try
        {
            EmailAddress = await SecureStorage.GetAsync(Settings.BiometricsEmail);
            Password = await SecureStorage.GetAsync(Settings.BiometricsPin);

            if (!string.IsNullOrEmpty(EmailAddress) && !string.IsNullOrEmpty(Password))
            {
                await LoginAction.Run(); // <-- Navigation happens immediately
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
    }
}

What I have tried:

  • Tried adding await Task.Delay(500) before calling LoginAction.Run() but the pop up is closing immediately after the finger verification.

What is the best practice in .NET MAUI to update a pop-up UI after biometric authentication and delay navigation, so that the user can see the updated title, description, icon, and status before the app navigates? Is this pop up a native fingerprint popup is shown by the platform and is it possible to control from our end?

Developer technologies | .NET | .NET MAUI
{count} votes

Answer accepted by question author
  1. Jack Dang (WICLOUD CORPORATION) 4,780 Reputation points Microsoft External Staff Moderator
    2025-12-04T06:51:16.56+00:00

    Hi @Sreenivasan, Sreejith ,

    Thanks for reaching out.

    In Xamarin, the fingerprint flow you used did not display the true native biometric dialog. Most Xamarin projects relied on Plugin.Fingerprint or a custom page that simulated a biometric prompt, which meant the UI elements (title, description, icon, status text) were rendered by your own XAML and updated on your own timing. Because the popup was part of your app UI, those updates appeared immediately and stayed visible until you chose to navigate away.

    In .NET MAUI, the behavior is different. MAUI’s biometric packages and platform code use the actual Android BiometricPrompt / iOS LAContext, which are fully controlled by the operating system. These system dialogs cannot be updated once authentication starts, and they are automatically dismissed by the OS the moment authentication succeeds. This is why:

    • Your updated title/description do not appear
    • Your tick icon and status message never render
    • Even adding a Task.Delay() does not help
    • The popup closes instantly when the finger is recognized

    Reference (Android native API): the BiometricPrompt is documented as managing a system-provided biometric dialog - see the .NET API docs for BiometricPrompt.

    https://learn.microsoft.com/en-us/dotnet/api/android.hardware.biometrics.biometricprompt?view=net-android-35.0

    (Also see Authenticate(...) which explicitly says it “displays a system-provided dialog” when starting:

    https://learn.microsoft.com/en-us/dotnet/api/android.hardware.biometrics.biometricprompt.authenticate?view=net-android-35.0)

    Official Android guidance describing the system biometric prompt (useful context):

    https://developer.android.com/identity/sign-in/biometric-auth

    Disclaimer: This is a non-Microsoft website. The page appears to be providing accurate, safe information. Watch out for ads on the site that may advertise products frequently classified as a PUP (Potentially Unwanted Products). Thoroughly research any product advertised on the site before you decide to download and install it.

    If you need the same experience you had in Xamarin - live UI updates, custom animations, and a controlled delay before navigation - you’ll need to display your own popup page in MAUI (for example, using the .NET MAUI Community Toolkit). Perform the biometric check in the background, update your own UI on success, wait briefly, then navigate. Microsoft docs for the Community Toolkit’s popup show how to create and present custom popups in MAUI:

    https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/views/popup

    This is the recommended and supported approach in MAUI when a fully customizable biometric experience is required.

    Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.

    1 person found this answer helpful.

Answer accepted by question author
  1. ava lynn 0 Reputation points
    2025-12-03T03:40:06.6266667+00:00

    In MAUI, the fingerprint popup is native — you cannot fully control its UI or timing.

    To show your own updates, you need to:

    Create a custom popup page in MAUI, • Show it after success, update the text and icon there, • Add a short delay, then navigate.

    The built-in biometric popup closes by itself, so your UI changes will not show unless you use your own popup screen.


0 additional answers

Sort by: Most helpful

Your answer

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