Comment faire pour que l'application demande le mot de passe de l'appareil

Posté le 23. mars 2023 par Jan Bunk


Si vous recherchez une solution aboutie qui demande un mot de passe personnalisé (et non le mot de passe de l'appareil) lorsque l'utilisateur ouvre l'application, découvrez la fonctionnalité de protection par mot de passe.

Vous souhaitez améliorer la sécurité de votre application tout en conservant une grande facilité d'utilisation ? L'authentification locale peut être la solution. La présente documentation vous montrera comment vous pouvez inviter les utilisateurs de votre application à saisir leur code confidentiel/empreinte digitale/identification faciale avant d'accéder à certaines parties de votre application.

Activation de la fonctionnalité

Activez l'autorisation de biométrie dans vos paramètres d'autorisation. Sans cela, cette fonctionnalité risque de ne fonctionner que partiellement (pas d'identification des visages) ou de dysfonctionner de manière inattendue.

Utilisation de la fonction JavaScript

Nous vous conseillons de consulter la fonction executeWhenAppReady() dans notre script d'aide de l'application. Elle garantit que votre site web n'essaie pas d'interagir avec l'application avant qu'elle ne soit prête ou lorsque votre site web est chargé à l'aide d'un navigateur normal (Erreur de référence, la fonction n'est pas définie).

requestLocalAuthentication

Utilisez cette fonction pour demander à l'utilisateur de s'authentifier.


<script>
    try {
        // This message will be displayed to the user along with the prompt.
        let reason = "Please authenticate to access this part of the app";

        // returns a boolean. True if the authentication was successful, false if it failed (e.g. because the user
        // canceled it by pressing the back button).
        let authenticationResult = (await requestLocalAuthentication(reason))["result"];
    }
    catch (e) {
        switch(e) {
            case "NotAvailable":
                // The user has not configured an authentication method on the device.
                // Occurred on Android in this case, difference to PasscodeNotSet is not completely clear.
                break;
            case "PasscodeNotSet":
                // The user has not configured a passcode (iOS) or PIN/pattern/password (Android) on the device
                break;
            case "LockedOut":
                // Authentication is temporarily locked due to too many attempts.
                break;
            case "PermanentlyLockedOut":
                // Authentication is more persistently locked out than with "LockedOut".
                // Strong authentication like PIN/Pattern/Password is required to unlock.
                break;
        }
    }
</script>