Nesta seção será descrito o uso do plugin local_auth, para autenticação local em aplicativos, ou seja, permitir a entrada na aplicação a partir da senha do celular, impressão digital ou face ID.
Este plugin é muito interessante, e traz essa possível implementação, uma maneira a mais de trazer segurança no uso dos nossos aplicativos.
Primeiramente, vou mostrar uma classe para o uso de algumas funções do plugin, para checar se o usuário possui alguma autenticação por biometrias cadastrada, e fazendo de fato essa autenticação para liberar acesso.
A função hasBiometrics() faz essa checagem, e retorna se é possível autenticar por biometrias.
Já a função authenticate(), faz essa chamada acima, e se for possível checar a biometria, ele faz a chamada do plugin para autenticar de fato, tendo um retorno booleano para checar se autenticou ou não.
Nesta função, é possível perceber o parametro biometricOnly, ele é quem define se será possível para o usuário autenticar com a senha do celular ou apenas com as possíveis biometrias cadastradas.
No exemplo abaixo, vou mostrar como fiz esse uso, possibilitando ao usuário clicar em um botão para usar a senha do celular, e alterando este valor de biometricOnly.
Dentro de uma tela inicial, faço as seguintes chamadas:
Ou seja, caso o usuário seja de cara autenticado quando abrir a tela, já segue seu redirecionamento normal para o uso do app.
E caso ele não consiga se autenticar pela biometria, existe um botão na tela, para alterar o valor de biometricOnly:
E é basicamente isso, o uso é realmente simples, mas acredito que muito útil e interessante. Pode ser usado em vários contextos, dentro de algumas features, para o APP todo, da maneira que for necessário.
Na documentação do plugin é demonstrado várias outras funcionalidades e possibilidades, é legal dar uma olhada para maior aprofundamento.