1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-15 15:53:44 +00:00

fingerprint setup

This commit is contained in:
Kyle Spearrin
2019-05-16 16:31:58 -04:00
parent 6e42f5ce7b
commit 22a0b262e1
7 changed files with 581 additions and 481 deletions

View File

@@ -1,6 +1,9 @@
using Bit.App.Abstractions;
using Bit.App.Models;
using Bit.App.Resources;
using Bit.Core.Abstractions;
using Plugin.Fingerprint;
using Plugin.Fingerprint.Abstractions;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
@@ -184,5 +187,45 @@ namespace Bit.App.Services
{
return await Clipboard.GetTextAsync();
}
public async Task<bool> SupportsFingerprintAsync()
{
try
{
return await CrossFingerprint.Current.IsAvailableAsync();
}
catch
{
return false;
}
}
public async Task<bool> AuthenticateFingerprintAsync(string text = null, Action fallback = null)
{
try
{
if(text == null)
{
text = AppResources.FingerprintDirection;
}
var fingerprintRequest = new AuthenticationRequestConfiguration(text)
{
AllowAlternativeAuthentication = true,
CancelTitle = AppResources.Cancel,
FallbackTitle = AppResources.LogOut
};
var result = await CrossFingerprint.Current.AuthenticateAsync(fingerprintRequest);
if(result.Authenticated)
{
return true;
}
else if(result.Status == FingerprintAuthenticationResultStatus.FallbackRequested)
{
fallback?.Invoke();
}
}
catch { }
return false;
}
}
}