Библиотека для аутентификации пользователей с использованием PIN-кода. Эта библиотека предоставляет удобные и безопасные способы проверки личности пользователей с помощью простого числового PIN-кода. Она может быть использована разработчиками при создании приложений, требующих дополнительного слоя безопасности или идентификации пользователей.
- Простая и интуитивно понятная аутентификация с помощью PIN-кода.
- Надежное хранение и защита PIN-кодов пользователей при помощи кодирования.
- Возможность настройки требуемой длины и сложности PIN-кода.
- Ограничение количества попыток ввода PIN-кода для предотвращения атак брутфорса.
- Расширенные опции настройки и уведомлений о событиях.
Эта инструкция поможет вам ознакомиться с использованием библиотеки для аутентификации по PIN-коду в вашем приложении. Библиотека предоставляет простой и надежный способ защиты доступа к вашему приложению с помощью PIN-кода. Давайте разберемся, как это работает:
Установка библиотеки для аутентификации по PIN-коду — первый шаг к безопасной защите вашего приложения.
- Внесите зависимость в файл build.gradle:
dependencies {
implementation 'com.github.Khokhlinvladimir:android-pin-authentication:v1.0.4'
}
С этим простым шагом, вы включите мощный инструмент аутентификации в вашем приложении, делая его надежным и безопасным.
- Указание репозитория в файле settings.gradle:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Не забудьте добавить эту настройку в ваш файл settings.gradle, чтобы убедиться, что библиотека будет доступна для загрузки.
В вашей активности или фрагменте инициализируйте библиотеку следующим образом:
val pinCodeStateManager = PinCodeStateManager.getInstance()
Установите параметры безопасности, такие как максимальное количество попыток ввода PIN-кода, длина PIN-кода и активация биометрической аутентификации:
pinCodeStateManager.setMaxPinAttempts(maxAttempts = 4, application = application)
pinCodeStateManager.setPinLength(pinLength = 4, application = application)
pinCodeStateManager.setBiometricEnabled(enabled = true, application = application)
pinCodeStateManager.autoLaunchBiometricEnabled(enabled = true,application = application)
Библиотека поддерживает четыре основных сценария:
pinCodeStateManager.setScenario(PinCodeScenario.CREATION)
Позволяет пользователю создать новый PIN-код.
pinCodeStateManager.setScenario(PinCodeScenario.VALIDATION)
Пользователь может войти в приложение, введя свой существующий PIN-код. Библиотека проверит введенный PIN-код на соответствие и, при успешной валидации, предоставит доступ к приложению.
pinCodeStateManager.setScenario(PinCodeScenario.CHANGE)
Позволяет пользователю изменить свой текущий PIN-код на новый.
pinCodeStateManager.setScenario(PinCodeScenario.DELETION)
Пользователь может удалить свой текущий PIN-код.
Обработайте события, такие как успешное создание, валидация, изменение и удаление PIN-кода, а также исчерпание попыток ввода:
pinCodeStateManager.onCreationSuccess {
// Обработка успешной установки PIN-кода
}
pinCodeStateManager.onValidationSuccess {
// Обработка успешной валидации PIN-кода
}
pinCodeStateManager.onLoginAttemptsExpended {
// Обработка исчерпания попыток ввода PIN-кода
}
// и так далее для других событий
Интегрируйте библиотеку с интерфейсом вашего приложения
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
// Вывести экран для ввода или валидации PIN-кода
PinCodeScreen()
}
Это основные шаги по использованию библиотеки для аутентификации по PIN-коду в вашем Android-приложении. Настраивайте библиотеку и обрабатывайте события в соответствии с вашими потребностями для создания безопасного и удобного опыта для пользователей.
Минимальная версия SDK (minSdk): 24
Целевая версия SDK (targetSdk): 34
Версия Gradle: 8.5.2
Версия OpenJDK: 17.0.1
Эта библиотека распространяется под лицензией MIT. Подробности можно найти в файле LICENSE.
Библиотека разработана и поддерживается Khokhlin Vladimir. Вы можете связаться со мной через telegram @vkhokhlin.
Если у вас есть предложения по улучшению библиотеки или вы обнаружили ошибку, пожалуйста, создайте issue или отправьте пулл-реквест в репозиторий на GitHub.