Я пытаюсь создать механизм аутентификации в моем (кордове) приложении для андроида, который позволит моим пользователям войти в систему, используя пароль и имя пользователя, или позволить им сканировать свой палец для входа.
Как можно проверить отпечаток пальца, зарегистрированный на клиенте, на стороне сервера? возможно ли это вообще с помощью Кордовы? Я попытался передать результат сканирования пальцем на свой сервер: это выглядело так:
FingerprintAuth.isAvailable(function(result) {
if (result.isAvailable) {
if(result.hasEnrolledFingerprints){
FingerprintAuth.show({
clientId: client_id,
clientSecret: client_secret
}, function (result) {
alert(JSON.stringify(result));
$http.post('http://192.168.149.33:3000/authorize', result).then(
function(response) {}
);
if (result.withFingerprint) {
$scope.$parent.loggedIn = true;
alert("Successfully authenticated using a fingerprint");
$location.path( "/home" );
} else if (result.withPassword) {
alert("Authenticated with backup password");
}
}, function(error) {
console.log(error); // "Fingerprint authentication not available"
});
} else {
alert("Fingerprint auth available, but no fingerprint registered on the device");
}
}
}, function(message) {
alert("Cannot detect fingerprint device : "+ message);
});
На стороне сервера я получаю следующие данные (3 отдельных сканирования):
{ withFingerprint: 't8haYq36fmBPUEPbVjiWOaBLjMPBeUNP/BTOkoVtZ2ZiX20eBVzZAs3dn6PW/R4E\n' }
{ withFingerprint: 'rA9H+MIoQR3au9pqgLAi/EOCRA9b0Wx1AvzC/taGIUc8cCeDfzfiDZkxNy5U4joB\n' }
{ withFingerprint: 'MMyJm46O8MTxsa9aofKUS9fZW3OZVG7ojD+XspO71LWVy4TZh2FtvPtfjJFnj7Sy\n' }
Кажется, что шаблоны меняются каждый раз, есть ли способ связывать отпечаток пальца, например, шаблон, сохраненный под пользователем в базе данных?