Autenticazione

L'AppFramework di AppStudio fornisce un plug-in di Autenticazione che, nei dispositivi supportati, effettua l'autenticazione degli utenti mediante firma biometrica. Questa funzionalità può essere usata insieme all'archiviazione sicura per memorizzare e accedere a credenziali, token o dati sensibili. Per utilizzare questa funzionalità, è necessario includere prima la seguente istruzione di importazione:

import ArcGIS.AppFramework.Authentication 1.0

Per avere un esempio di questa funzionalità, servirsi dell'app di esempio disponibile su ArcGIS AppStudio o nel repository GitHub degli esempi di AppStudio.

Autenticatore biometrico

Il componente Autenticatore biometrico supporta l'autenticazione tramite la scansione dell'impronta digitale su piattaforme iOS, macOS, Android e Windows, così come face ID su iPhone 10 e successive. Per utilizzare questa funzionalità, l'opzione di Autenticazione biometrica dell'app deve essere abilitata, accedendo a Impostazioni > Funzionalità.

Per utilizzare l'autenticazione dell'impronta digitale, il dispositivo dell'utente deve disporre di un sensore di impronte digitali integrato o di un lettore portatile con questa funzionalità abilitata, e l'impronta digitale deve essere registrata nel dispositivo. Il seguente esempio di codice utilizza le proprietà di supported, activated, e errorMessage per mostrare se la funzionalità è supportata. Se lo strumento di autenticazione non può essere usato, viene visualizzato un messaggio di errore.

Text {
    id: supportCheck
    text: BiometricAuthenticator.supported ? "Fingerprint supported" : "Fingerprint not supported"
}
Text {
    id: activeCheck
    text: BiometricAuthenticator.activated ? "Fingerprint activated" : "Fingerprint not activated"
    anchors.top: supportCheck.bottom
}
Text {
    id: errormessage
    text: BiometricAuthenticator.errorMessage
    anchors.top: activeCheck.bottom
}

Il componente Autenticatore biometrico dispone di metodo authenticate che visualizza una finestra di dialogo nativa di autenticazione dell'impronta digitale e una proprietà message che imposta il messaggio di autenticazione nella finestra di dialogo. Per utilizzare l’autenticazione biometrica, è necessario impostare la proprietà message e richiamare il metodo authenticate, tenendo presente che message deve essere impostato prima di richiamare authenticate. Il seguente esempio di codice mostra come usare il metodo di authenticate, insieme a un messaggio specifico:

Component.onCompleted: {
    BiometricAuthenticator.message = "Authenticate to log into your account"
    BiometricAuthenticator.authenticate()
}

Il componente AutenticazioneBiometrica contiene due segnali usati per mostrare il risultato del processo di autenticazione. Il segnale di accettazione viene emesso se l'autenticazione è avvenuta con successo, mentre il segnale di rifiuto viene emesso, insieme a una spiegazione, quando l'autenticazione non avviene con successo a causa di un errore o di un'interruzione del processo. Il seguente esempio di codice usa questi segnali per restituire i risultati di una scansione, emettendo una breve stringa leggibile per l'utente per ogni condizione di errore:

Text {
    id: status    anchors.top: errormessage.bottom
}
Connections {
    target: BiometricAuthenticator
    onAccepted: {
        status.text = "Success"
    }
    onRejected: {
        status.text = constructMessage(reason)    }
}
function constructMessage(reason) {
    var result = "";
    switch (reason)    {
    case 1:
        result = qsTr("Cancelled By User");
        break;
    case 2:
        result = qsTr("Invalid Credentials");
        break;
    case 3:
        result = qsTr("Not Configured");
        break;
    case 4:
        result = qsTr("User Fallback");
        break;
    case 5:
        result = qsTr("Permission Denied");
        break;
    case 6:
        result = qsTr("Biometric Not Supported");
        break;
    case 7:
        result = qsTr("Bad Capture");
        break;
    case 8:
        result = qsTr("Platform Not Supported");
        break;
    default:
        result = qsTr("Unknown");
    }
    return result;
}

In questo argomento
  1. Autenticatore biometrico