Autenticación

El AppFramework de AppStudio proporciona un plug-in de autenticación que autentifica a los usuarios mediante su firma biométrica en dispositivos compatibles. Puede utilizarlo junto con almacenamiento seguro para almacenar y acceder a credenciales, tokens o cualquier otra información confidencial. Para utilizar esta funcionalidad, primero tiene que incluir la siguiente instrucción de importación:

import ArcGIS.AppFramework.Authentication 1.0

Como ejemplo de esta capacidad, consulte la aplicación de muestra disponible en ArcGIS AppStudio o en el repositorio de GitHub de muestras de AppStudio.

Autenticador biométrico

El componente BiometricAuthenticator admite la autenticación mediante el escaneo de la huella dactilar en plataformas iOS, macOS, Android y Windows, así como el Face ID en iPhone 10 y posteriores. Para utilizar esta función, su aplicación debe tener habilitada la Autenticación biométrica, que se puede hacer en Configuración > Capacidades.

Para usar la autenticación de huella dactilar, el dispositivo del usuario debe contar con un sensor de huella dactilar integrado o un lector portátil para habilitar esta función en su dispositivo, además, sus huellas dactilares deben estar registradas en su dispositivo. La siguiente muestra de código utiliza las propiedades supported, activated y errorMessage para visualizar si esta función es compatible. Si no se puede utilizar el autenticador, aparece un mensaje de error.

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
}

El componente BiometricAuthenticator tiene un método authenticate que muestra un cuadro de diálogo de autenticación de huella dactilar nativo y una propiedad message que establece el mensaje de autenticación del cuadro de diálogo. Para usar la autenticación biométrica, debe haber establecido la propiedad message y llamar al método authenticate, siendo consciente de que se debe establecer message antes de llamar a authenticate. La siguiente muestra de código muestra cómo utilizar el método authenticate, junto con un mensaje específico:

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

BiometricAuthenticator contiene dos señales que muestran el resultado del proceso de autenticación. La señal aceptada se emite cuando la autenticación es correcta. Por su parte, la señal rechazada se emite, con explicación, cuando la autenticación ha fallado debido a un error o una cancelación. La siguiente muestra de código utiliza estas señales para devolver los resultados del escaneo, dando a cada posible condición de fallo una cadena corta legible para el usuario:

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