2017-05-03 3 views
0

Nous avons une application qui utilise l'adresse e-mail + mot de passe pour se connecter. Pour plus de confort, nous avons implémenté une logique de code PIN à 4 chiffres. Toute cette logique est auto-créé, n'utilisant aucune fonctionnalité intégrée de Microsoft.Autorisation biométrique UWP et Windows Store 8.1

Sur 1 périphérique peut être plusieurs utilisateurs.Ainsi, nous aimerions mettre en œuvre également une possibilité d'authentification biométrique.

J'ai recherché sur Google les informations et il semble que toutes les options d'autorisation biométrique sont basées sur le compte Microsoft.

j'ai imaginé quelque chose comme:

var hash = GetBiometricHash(); 
// reuqest user to make biometric authorization and the hash we could store on our servers. 

est-il cette possibilité ou nous devrons intégrer l'utilisation des comptes Microsoft?

Répondre

0

Vous pouvez ajouter fingerprint biometrics à votre application Universal Windows Platform (UWP) à l'aide du code suivant. Inclure une demande d'authentification d'empreinte digitale lorsque l'utilisateur doit consentir à une action particulière augmente la sécurité de votre application. Mais si vous passez à un autre appareil qui n'a pas vos informations d'empreintes digitales. L'application ne sera pas en mesure de certifier votre empreinte digitale. Actuellement, il n'existe pas d'API permettant d'enregistrer vos informations d'empreintes digitales sur votre propre service Web. Donc, vous pouvez intégrer l'utilisation Microsoft accounts.

private async System.Threading.Tasks.Task<string> RequestConsent(string 
userMessage) 
{ 
string returnMessage; 

if (String.IsNullOrEmpty(userMessage)) 
{ 
    userMessage = "Please provide fingerprint verification."; 
} 

try 
{ 
    // Request the logged on user's consent via fingerprint swipe. 
    var consentResult = await Windows.Security.Credentials.UI.UserConsentVerifier.RequestVerificationAsync(userMessage); 

    switch (consentResult) 
    { 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.Verified: 
      returnMessage = "Fingerprint verified."; 
      break; 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceBusy: 
      returnMessage = "Biometric device is busy."; 
      break; 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.DeviceNotPresent: 
      returnMessage = "No biometric device found."; 
      break; 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.DisabledByPolicy: 
      returnMessage = "Biometric verification is disabled by policy."; 
      break; 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.NotConfiguredForUser: 
      returnMessage = "The user has no fingerprints registered. Please add a fingerprint to the " + 
          "fingerprint database and try again."; 
      break; 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.RetriesExhausted: 
      returnMessage = "There have been too many failed attempts. Fingerprint authentication canceled."; 
      break; 
     case Windows.Security.Credentials.UI.UserConsentVerificationResult.Canceled: 
      returnMessage = "Fingerprint authentication canceled."; 
      break; 
     default: 
      returnMessage = "Fingerprint authentication is currently unavailable."; 
      break; 
    } 
} 
catch (Exception ex) 
{ 
    returnMessage = "Fingerprint authentication failed: " + ex.ToString(); 
} 

return returnMessage; 
}