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