MASTG-KNOW-0056: Framework de Autenticação Local
O framework de autenticação local da Apple, Local Authentication, fornece recursos para solicitar autenticação por senha ou Touch ID dos usuários. Os desenvolvedores podem exibir e utilizar um prompt de autenticação usando a função evaluatePolicy da classe LAContext.
Duas políticas disponíveis definem as formas aceitáveis de autenticação:
-
deviceOwnerAuthentication(Swift) ouLAPolicyDeviceOwnerAuthentication(Objective-C): Quando disponível, o usuário é solicitado a realizar autenticação por Touch ID. Se o Touch ID não estiver ativado, a senha do dispositivo é solicitada. Se a senha do dispositivo não estiver habilitada, a avaliação da política falha. -
deviceOwnerAuthenticationWithBiometrics(Swift) ouLAPolicyDeviceOwnerAuthenticationWithBiometrics(Objective-C): A autenticação é restrita à biometria, onde o usuário é solicitado a usar o Touch ID.
A função evaluatePolicy retorna um valor booleano indicando se o usuário foi autenticado com sucesso.
O site Apple Developer oferece exemplos de código para Swift e Objective-C. Uma implementação típica em Swift é mostrada a seguir.
let context = LAContext()
var error: NSError?
guard context.canEvaluatePolicy(.deviceOwnerAuthentication, error: &error) else {
// Não foi possível avaliar a política; verifique o erro e apresente uma mensagem apropriada ao usuário
}
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: "Por favor, autorize o acesso a esta área") { success, evaluationError in
guard success else {
// O usuário não foi autenticado com sucesso, verifique evaluationError e tome a ação apropriada
}
// Usuário autenticado com sucesso, tome a ação apropriada
}