Authentification

AppStudio AppFramework fournit un plug-in d'authentification qui authentifie les utilisateurs au moyen de leur signature biométrique sur les appareils pris en charge. Ceci peut être utilisé conjointement avec le stockage sécurisé pour stocker et accéder aux informations d’identification, jetons et à toute autre information sensible. Pour utiliser cette fonction, vous devez tout d’abord inclure l’instruction d’import suivante :

import ArcGIS.AppFramework.Authentication 1.0

Pour voir un exemple de cette fonctionnalité, consultez l'application d’exemple disponible dans ArcGIS AppStudio ou dans le référentiel GitHub d’exemples AppStudio.

Authentifiant biométrique

Le composant d’authentifiant biométrique prend en charge l’authentification par balayage d’empreinte digitale sur les plateformes iOS, macOS, et Windows, ainsi que via face ID sur iPhone 10 et versions ultérieures. Pour utiliser cette fonctionnalité, la fonction Biometric Authentication (Authentification biométrique) doit être activée sur votre application, ce qui peut être effectué dans Settings (Paramètres) > Capabilities (Fonctionnalités).

Pour utiliser l’authentification par empreinte digitale, l’appareil utilisateur doit intégrer un lecteur d’empreinte digitale ou être équipé d’un lecteur portable pour que cette fonctionnalité puisse être activée. Les empreintes doivent être enregistrées dans l’appareil. L’exemple de code suivant utilise les propriétés supported, activated, et errorMessage pour indiquer si cette fonctionnalité est prise en charge. Un message d'erreur s’affiche lorsque l’authentifiant ne peut être utilisé.

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
}

Le composant d’authentifiant biométrique dispose d’une méthode authenticate qui affiche une boîte de dialogue d’authentification par empreinte digitale native, ainsi que d’une propriété message qui configure le message d’authentification dans la boîte de dialogue. Pour utiliser l’authentification biométrique, vous devez à la fois configurer la propriété message et appeler la méthode authenticate, en gardant à l’esprit que la propriété message doit être configurée avant d’appeler la méthode authenticate. L’exemple de code suivant montre comment utiliser la méthode authenticate (authentifier), avec un message déterminé :

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

L’authentifiant biométrique contient deux signaux pour afficher le résultat du processus d’authentification. Le signal accepté est transmis en cas d’identification réussie, tandis que le signal refusé est transmis, avec explication, en cas d’échec de l’authentification en raison d’une erreur ou d’une annulation. L‘exemple de code suivant utilise ces signaux pour renvoyer les résultats d’un balayage, chaque condition d’échec possible étant accompagnée d’une courte chaîne lisible par l’utilisateur :

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

Dans cette rubrique
  1. Authentifiant biométrique