Come richiedere la password del dispositivo

Postato su 23. marzo 2023 da Jan Bunk


Se stai cercando una soluzione completa che richieda una password personalizzata (non la password del dispositivo) quando un utente apre l'app controlla la funzionalità di protezione con password.

Vuoi migliorare la sicurezza della tua app mantenendo un'ottima usabilità? L'autenticazione locale potrebbe essere la soluzione giusta. Questa documentazione ti mostrerà come puoi chiedere agli utenti della tua applicazione di usare il PIN/impronta digitale/riconoscimento facciale del dispositivo prima di accedere alle sezioni della tua applicazione.

Abilitazione della funzionalità

Abilita l'autorizzazione alla biometria nelle impostazioni dei permessi. In caso contrario, questa funzionalità potrebbe funzionare solo parzialmente (niente Face ID) o interrompersi in modo imprevisto.

Utilizzo della funzione JavaScript

Potresti voler controllare la funzione executeWhenAppReady() del nostro helper script per le app. Assicura che il tuo sito web non cerchi di interagire con l'applicazione prima che sia pronta o quando il sito web viene caricato con un normale browser (ReferenceError, function is not defined).

requestLocalAuthentication

Usa questa funzione per richiedere all'utente l'autenticazione.


<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>