Come mettere l'impronta digitale sulle app

Come mettere l'impronta digitale sulle app

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

Accetto la privacy policy