Come mettere l’impronta digitale sulle app
L’impronta digitale è diventata una delle forme più comuni di autenticazione biometrica utilizzata per proteggere i nostri dispositivi e le nostre informazioni personali. Con l’avvento dei sensori di impronte digitali sui dispositivi mobili, è diventato possibile utilizzare questa tecnologia anche per accedere alle applicazioni. In questo tutorial, impareremo come implementare l’autenticazione tramite impronta digitale nelle tue app utilizzando il linguaggio di markup Markdown.
Cos’è l’autenticazione tramite impronta digitale?
L’autenticazione tramite impronta digitale è un metodo di autenticazione biometrica che utilizza le caratteristiche uniche delle impronte digitali per verificare l’identità di un individuo. Questa tecnologia è diventata molto popolare grazie alla sua convenienza e sicurezza.
Requisiti
Per seguire questo tutorial, avrai bisogno dei seguenti requisiti:
- Un dispositivo mobile con un sensore di impronte digitali
- Un ambiente di sviluppo per creare le tue app (ad esempio Android Studio per Android o Xcode per iOS)
- Conoscenza di base di programmazione mobile
Implementazione su Android
Iniziamo con l’implementazione dell’autenticazione tramite impronta digitale su Android. Segui i passaggi seguenti:
Passo 1: Aggiungi le dipendenze
Per prima cosa, apri il tuo progetto Android in Android Studio e apri il file build.gradle
del modulo dell’app. Aggiungi le seguenti dipendenze al blocco dependencies
:
dependencies {
// Altre dipendenze...
implementation 'androidx.biometric:biometric:1.2.0'
}
Questa dipendenza ci permetterà di utilizzare le API di autenticazione biometrica fornite da Android.
Passo 2: Aggiungi il codice per l’autenticazione
Apri il file della tua activity in cui desideri implementare l’autenticazione tramite impronta digitale. Aggiungi il seguente codice per richiedere l’autenticazione:
import androidx.biometric.BiometricManager;
import androidx.biometric.BiometricPrompt;
import androidx.core.content.ContextCompat;
// ...
private void showBiometricPrompt() {
BiometricManager biometricManager = BiometricManager.from(this);
if (biometricManager.canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS) {
BiometricPrompt.PromptInfo promptInfo = new BiometricPrompt.PromptInfo.Builder()
.setTitle("Autenticazione tramite impronta digitale")
.setSubtitle("Posiziona il dito sul sensore di impronte digitali")
.setNegativeButtonText("Annulla")
.build();
BiometricPrompt biometricPrompt = new BiometricPrompt(this, ContextCompat.getMainExecutor(this),
new BiometricPrompt.AuthenticationCallback() {
@Override
public void onAuthenticationError(int errorCode, CharSequence errString) {
super.onAuthenticationError(errorCode, errString);
// Gestisci gli errori di autenticazione
}
@Override
public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) {
super.onAuthenticationSucceeded(result);
// L'autenticazione è riuscita, esegui le azioni necessarie
}
@Override
public void onAuthenticationFailed() {
super.onAuthenticationFailed();
// L'autenticazione è fallita, gestisci il caso
}
});
biometricPrompt.authenticate(promptInfo);
}
}
Questo codice crea un oggetto BiometricPrompt
che richiede l’autenticazione tramite impronta digitale. Puoi personalizzare il titolo, il sottotitolo e il testo del pulsante di annullamento secondo le tue esigenze.
Passo 3: Richiedi l’autorizzazione all’utente
Prima di richiedere l’autenticazione tramite impronta digitale, è necessario richiedere all’utente l’autorizzazione all’utilizzo del sensore di impronte digitali. Aggiungi il seguente codice nel metodo onCreate
della tua activity:
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
// ...
private static final int REQUEST_CODE = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (checkSelfPermission(Manifest.permission.USE_BIOMETRIC) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.USE_BIOMETRIC}, REQUEST_CODE);
}
}
}
Questo codice controlla se l’app ha l’autorizzazione USE_BIOMETRIC
e, se non l’ha, richiede all’utente di concedere l’autorizzazione.
Passo 4: Richiama l’autenticazione
Infine, richiama il metodo showBiometricPrompt
quando l’utente desidera autenticarsi tramite impronta digitale. Ad esempio, puoi chiamare questo metodo quando l’utente fa clic su un pulsante. Aggiungi il seguente codice nel metodo onClick
del tuo pulsante:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showBiometricPrompt();
}
});
Ora hai implementato con successo l’autenticazione tramite impronta digitale nella tua app Android!
Implementazione su iOS
Passiamo ora all’implementazione dell’autenticazione tramite impronta digitale su iOS. Segui i passaggi seguenti:
Passo 1: Aggiungi le dipendenze
Apri il tuo progetto iOS in Xcode e apri il file Podfile
. Aggiungi la seguente dipendenza:
pod 'LocalAuthentication'
Salva il file e apri il terminale. Naviga nella directory del tuo progetto e esegui il comando pod install
per installare la dipendenza.
Passo 2: Aggiungi il codice per l’autenticazione
Apri il file della tua view controller in cui desideri implementare l’autenticazione tramite impronta digitale. Aggiungi il seguente codice per richiedere l’autenticazione:
import LocalAuthentication
// ...
private func showBiometricPrompt() {
let context = LAContext()
var error: NSError?
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
let reason = "Autenticazione tramite impronta digitale"
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { success, error in
if success {
// L'autenticazione è riuscita, esegui le azioni necessarie
} else {
// L'autenticazione è fallita, gestisci il caso
}
}
}
}
Questo codice crea un oggetto LAContext
che viene utilizzato per richiedere l’autenticazione tramite impronta digitale. Puoi personalizzare il motivo secondo le tue esigenze.
Passo 3: Richiedi l’autorizzazione all’utente
Prima di richiedere l’autenticazione tramite impronta digitale, è necessario richiedere all’utente l’autorizzazione all’utilizzo del sensore di impronte digitali. Aggiungi il seguente codice nel metodo viewDidLoad
della tua view controller:
import LocalAuthentication
// ...
private static let authenticationReason = "Autenticazione tramite impronta digitale"
override func viewDidLoad() {
super.viewDidLoad()
let context = LAContext()
var error: NSError?
if !context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
// L'autenticazione tramite impronta digitale non è supportata o non è abilitata
}
}
Questo codice controlla se l’autenticazione tramite impronta digitale è supportata e abilitata sul dispositivo dell’utente.
Passo 4: Richiama l’autenticazione
Infine, richiama il metodo showBiometricPrompt
quando l’utente desidera autenticarsi tramite impronta digitale. Ad esempio, puoi chiamare questo metodo quando l’utente fa clic su un pulsante. Aggiungi il seguente codice nel metodo buttonTapped
del tuo pulsante:
@IBAction func buttonTapped(_ sender: UIButton) {
showBiometricPrompt()
}
Ora hai implementato con successo l’autenticazione tramite impronta digitale nella tua app iOS!
Conclusioni
In questo tutorial, abbiamo imparato come implementare l’autenticazione tramite impronta digitale nelle tue app Android e iOS. Questa tecnologia offre un modo conveniente e sicuro per proteggere le tue app e le informazioni personali dei tuoi utenti. Speriamo che tu abbia trovato utile questo tutorial e che possa applicare queste conoscenze nei tuoi progetti futuri.
Scrivici se hai notato qualcosa che può essere migliorato
Condividi questo articolo se ti piace.