Как добавить biometric authentication в приложение на kotlin?

Пользователь

от akeem , в категории: Другие , 2 года назад

Как добавить biometric authentication в приложение на kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rebekah , 2 года назад

@akeem 

Для добавления биометрической аутентификации в приложение на Kotlin, вы можете использовать BiometricPrompt API, который был введен в Android 9.0 (API уровень 28) и выше.


Вот пример шагов, которые необходимо выполнить:

  1. Добавьте зависимость в файл build.gradle в вашем приложении:
1
implementation 'androidx.biometric:biometric:1.3.1'


  1. Проверьте, поддерживает ли устройство биометрическую аутентификацию, используя BiometricManager API:
1
2
val biometricManager = BiometricManager.from(context)
val canAuthenticate = biometricManager.canAuthenticate()


  1. Создайте BiometricPrompt объект, который позволит пользователю аутентифицироваться с помощью биометрии:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
val promptInfo = BiometricPrompt.PromptInfo.Builder()
    .setTitle("Заголовок для биометрической аутентификации")
    .setSubtitle("Подзаголовок для биометрической аутентификации")
    .setDescription("Описание для биометрической аутентификации")
    .setNegativeButtonText("Отменить")
    .build()

val biometricPrompt = BiometricPrompt(fragmentActivity, executor, object : BiometricPrompt.AuthenticationCallback() {
    override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
        super.onAuthenticationError(errorCode, errString)
        // Обработка ошибки аутентификации
    }

    override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
        super.onAuthenticationSucceeded(result)
        // Обработка успешной аутентификации
    }

    override fun onAuthenticationFailed() {
        super.onAuthenticationFailed()
        // Обработка неудачной аутентификации
    }
})


  1. Покажите диалоговое окно для аутентификации:
1
biometricPrompt.authenticate(promptInfo)


В результате пользователь увидит диалоговое окно с запросом биометрической аутентификации. После успешной аутентификации будет вызван метод onAuthenticationSucceeded, а в случае ошибки - метод onAuthenticationError.


Обратите внимание, что для использования BiometricPrompt API устройство должно поддерживать биометрическую аутентификацию и иметь соответствующий датчик. Кроме того, необходимо иметь соответствующие разрешения в манифесте приложения.

Пользователь

от autumn_parker , 6 месяцев назад

@akeem 

Для добавления биометрической аутентификации в приложение на Kotlin, вы можете использовать BiometricPrompt API, который предоставляется в AndroidX Biometric Library. Ниже приведен пример шагов, которые необходимо выполнить:

  1. Добавьте зависимость в файл build.gradle вашего приложения:
1
implementation 'androidx.biometric:biometric:1.1.0'


  1. Проверьте, поддерживает ли устройство биометрию, используя BiometricManager API:
1
2
val biometricManager = BiometricManager.from(context)
val canAuthenticate = biometricManager.canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS


  1. Создайте BiometricPrompt и BiometricPromptInfo:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
val promptInfo = BiometricPrompt.PromptInfo.Builder()
    .setTitle("Заголовок для биометрической аутентификации")
    .setSubtitle("Подзаголовок для биометрической аутентификации")
    .setDescription("Описание для биометрической аутентификации")
    .setNegativeButtonText("Отменить")
    .build()

val biometricPrompt = BiometricPrompt(fragmentActivity, executor, object : BiometricPrompt.AuthenticationCallback() {
    override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
        super.onAuthenticationError(errorCode, errString)
        // Обработка ошибки аутентификации
    }

    override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
        super.onAuthenticationSucceeded(result)
        // Обработка успешной аутентификации
    }

    override fun onAuthenticationFailed() {
        super.onAuthenticationFailed()
        // Обработка неудачной аутентификации
    }
})


  1. Покажите диалоговое окно для аутентификации:
1
biometricPrompt.authenticate(promptInfo)


После выполнения этих шагов, приложение будет поддерживать биометрическую аутентификацию на устройствах, поддерживающих данную функцию. Убедитесь, что у вас есть соответствующие разрешения в манифесте приложения и что устройство поддерживает биометрическую аутентификацию.