Class2BiometricAuthExtensionsKt

public final class Class2BiometricAuthExtensionsKt


Summary

Public methods

static final @NonNull BiometricPrompt.AuthenticationResult

Shows an authentication prompt to the user.

static final @NonNull BiometricPrompt.AuthenticationResult
Class2BiometricAuthExtensionsKt.authenticateWithClass2Biometrics(
    FragmentActivity receiver,
    CharSequence title,
    CharSequence negativeButtonText,
    CharSequence subtitle,
    CharSequence description,
    boolean confirmationRequired
)

Prompts the user to authenticate with a Class 2 biometric (e.g.

static final @NonNull BiometricPrompt.AuthenticationResult
Class2BiometricAuthExtensionsKt.authenticateWithClass2Biometrics(
    Fragment receiver,
    CharSequence title,
    CharSequence negativeButtonText,
    CharSequence subtitle,
    CharSequence description,
    boolean confirmationRequired
)

Prompts the user to authenticate with a Class 2 biometric (e.g.

static final @NonNull AuthPrompt
Class2BiometricAuthExtensionsKt.startClass2BiometricAuthentication(
    FragmentActivity receiver,
    CharSequence title,
    CharSequence negativeButtonText,
    CharSequence subtitle,
    CharSequence description,
    boolean confirmationRequired,
    Executor executor,
    AuthPromptCallback callback
)

Prompts the user to authenticate with a Class 2 biometric (e.g.

static final @NonNull AuthPrompt
Class2BiometricAuthExtensionsKt.startClass2BiometricAuthentication(
    Fragment receiver,
    CharSequence title,
    CharSequence negativeButtonText,
    CharSequence subtitle,
    CharSequence description,
    boolean confirmationRequired,
    Executor executor,
    AuthPromptCallback callback
)

Prompts the user to authenticate with a Class 2 biometric (e.g.

Public methods

Class2BiometricAuthExtensionsKt.authenticate

public static final @NonNull BiometricPrompt.AuthenticationResult Class2BiometricAuthExtensionsKt.authenticate(
    Class2BiometricAuthPrompt receiver,
    AuthPromptHost host
)

Shows an authentication prompt to the user.

import androidx.biometric.auth.AuthPromptHost
import androidx.biometric.auth.authenticate

val payload = "A message to encrypt".toByteArray(Charset.defaultCharset())

// Construct AuthPrompt with localized Strings to be displayed to UI.
val authPrompt = Class2BiometricAuthPrompt.Builder(title, negativeButtonText).apply {
    setSubtitle(subtitle)
    setDescription(description)
    setConfirmationRequired(true)
}.build()

try {
    val authResult = authPrompt.authenticate(AuthPromptHost(this))

    // Encrypt a payload using the result of crypto-based auth.
    val encryptedPayload = authResult.cryptoObject?.cipher?.doFinal(payload)

    // Use the encrypted payload somewhere interesting.
    sendEncryptedPayload(encryptedPayload)
} catch (e: AuthPromptErrorException) {
    // Handle irrecoverable error during authentication.
    // Possible values for AuthPromptErrorException.errorCode are listed in the @IntDef,
    // androidx.biometric.BiometricPrompt.AuthenticationError.
} catch (e: AuthPromptFailureException) {
    // Handle auth failure due biometric credentials being rejected.
}
Parameters
AuthPromptHost host

A wrapper for the component that will host the prompt.

Returns
@NonNull BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

See also
authenticate

(AuthPromptHost, AuthPromptCallback)

Class2BiometricAuthExtensionsKt.authenticateWithClass2Biometrics

public static final @NonNull BiometricPrompt.AuthenticationResult Class2BiometricAuthExtensionsKt.authenticateWithClass2Biometrics(
    FragmentActivity receiver,
    CharSequence title,
    CharSequence negativeButtonText,
    CharSequence subtitle,
    CharSequence description,
    boolean confirmationRequired
)

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris).

Note that Class 3 biometrics are guaranteed to meet the requirements for Class 2 and thus will also be accepted.

Parameters
CharSequence title

The title to be displayed on the prompt.

CharSequence negativeButtonText

The label for the negative button on the prompt.

CharSequence subtitle

An optional subtitle to be displayed on the prompt.

CharSequence description

An optional description to be displayed on the prompt.

boolean confirmationRequired

Whether user confirmation should be required for passive biometrics.

Returns
@NonNull BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

Class2BiometricAuthExtensionsKt.authenticateWithClass2Biometrics

public static final @NonNull B