---
# System prepended metadata

title: Fingerprint

---

# Fingerprint
## situacion actual

se realizo una implementacion de uso de la api webauthn para los browsers que lo soportan; y en el entorno de IOS se uso el componente de IONIC para lectura del fingerprint con habilitacion de un usuario mockeado. ***Existen dos metodos de uso de fingerprint en la aplicacion***

El caso de safari en caniuse (https://caniuse.com/#search=webauthn) aparece como que esta habilitado por medio de experimental features aunque no he logrado que el entorno pueda reconocer la caracteristica; articulos de los ultimos tres meses sugieren que la caracteristica estaria disponible este año https://www.theverge.com/2020/6/24/21301509/apple-safari-14-browser-face-touch-id-logins-webauthn-fido2. ***En un futuro cercano se puede reducir a un solo metodo***

### webauthn
el caso de webauthn la interacion actualmente implementada funciona como un ciclo cerrado en el frontend donde el rol del backend esta mockeado; por lo que es necesaria la implementacion del servicio en el backend; mediante el enlace se puede ver el ejemplo de uso de la libreria en C#; es necesario adicionalmente hacer persistencia de dos campos  asociados al userId 

DemoStorage.AddCredentialToUser(options.User, new StoredCredential
{
    Descriptor = new PublicKeyCredentialDescriptor(success.Result.CredentialId),
    PublicKey = success.Result.PublicKey,
    UserHandle = success.Result.User.Id
});

### IOS
el caso de IOS; una posible solucion es el uso del https://ionicframework.com/docs/native/keychain-touch-id para almacenar la credencial en el dispositivo y acceder a ella a traves del fingerprint
