Flutter 애플리케이션을 위한 지문 인증
6082 단어 authenticationflutter
지문 인증은 모바일 애플리케이션의 필수 요구 사항이 되었습니다. ID 및 액세스 관리 분야에서 가장 신뢰할 수 있는 최신 혁신입니다. 지문 인증은 사용자가 지문 이미지를 사용하여 정보 또는 서비스에 액세스할 수 있도록 하는 생체 인식 기술의 한 형태입니다. 저장된 지문 템플릿을 기반으로 사용자의 신원을 확인하는 것으로 정의할 수 있습니다. 이 형태의 인증은 사용자에게 다음과 같은 많은 이점을 제공합니다.
Flutter는 local_auth이라는 패키지를 제공합니다. 이 Flutter 플러그인은 사용자의 로컬 기기 인증을 수행하는 수단을 제공합니다.
이 기사에서 사용자는 Flutter 애플리케이션에서 이 기능을 구현하는 방법을 배웁니다.
Flutter 프로젝트 설정
이 자습서를 계속 진행하려면 here을 클릭하여 이 프로젝트에 대해 생성된 시작 파일을 복제하고
flutter create .
를 실행한 다음 flutter pub_add local_auth
를 클릭하여 필요한 종속성을 추가합니다.pubspec.yaml
파일을 열면 아래 16행에 추가된 local_auth
패키지가 표시됩니다.name: fingerprint_auth
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.17.6 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
local_auth: ^2.1.2 #This line was added
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
flutter:
uses-material-design: true
다음으로
android > app > src > main
로 이동하여 AndroidManifest.xml
파일을 열고 아래 코드를 추가합니다.<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
위의 코드는 앱이 성공적으로 작동하기 위해 사용자가 부여해야 하는 시스템 권한을 지정합니다.
마지막으로
android > app > src > main > kotlin
로 이동하여 MainActivity.kt
파일을 열고 아래 코드로 변경합니다.package com.example.fingerprint_auth
import io.flutter.embedding.android.FlutterFragmentActivity
class MainActivity: FlutterFragmentActivity() {
}
local_auth
는 FragmentActivity
대신 Activity
를 사용해야 하기 때문에 변경했습니다.오픈 소스 세션 재생
OpenReplay은 사용자가 웹 앱에서 수행하는 작업을 볼 수 있는 오픈 소스 세션 재생 제품군으로, 문제를 더 빨리 해결할 수 있도록 도와줍니다. OpenReplay는 데이터를 완벽하게 제어할 수 있도록 자체 호스팅됩니다.
디버깅 경험을 즐기십시오 - start using OpenReplay for free .
기능 추가
모든 구성이 완료되면 기능 생성부터 시작하겠습니다. 먼저
local_auth
패키지를 가져옵니다.import 'package:local_auth/local_auth.dart';
다음으로
LocalAuthentication
클래스의 인스턴스를 생성합니다.LocalAuthentication auth = LocalAuthentication();
완료되면 버튼을 클릭할 때 인증을 수행하는 비동기 함수를 생성합니다.
Future authenticate() async {
final bool isBiometricsAvailable = await auth.isDeviceSupported();
if (!isBiometricsAvailable) return false;
try {
return await auth.authenticate(
localizedReason: 'Scan Fingerprint To Enter Vault',
options: const AuthenticationOptions(
useErrorDialogs: true,
stickyAuth: true,
),
);
} on PlatformException {
return;
}
}
코드를 분석해 보겠습니다.
authenticate()
메서드를 호출하여 장치에서 사용 가능한 생체 인식으로 사용자를 인증합니다. 이 방법을 통해 사용자는 핀, 패턴 및 암호와 같은 장치 인증을 사용할 수 있습니다. useErrorDialogs
매개변수는 시스템이 인증 중에 발생한 사용자가 해결할 수 있는 문제를 처리하려고 시도하는지 확인합니다. stickyAuth
매개변수는 인증이 진행되는 동안 어떤 이유로든 애플리케이션이 백그라운드로 전환될 때 사용됩니다. true로 설정하면 앱이 다시 시작될 때 인증이 다시 시작됩니다. onPressed
기능을 구현할 시간:onPressed: () async {
bool isAuthenticated = await authenticate();
if (isAuthenticated) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return const SecretPage();
},
),
);
} else {
Container();
}
},
인증이
true
로 돌아가는지 확인한 다음 SecretPage
화면으로 이동해야 합니다.애플리케이션 테스트
이제 응용 프로그램을 테스트해 보겠습니다. 터미널에서 아래 코드를 실행합니다.
flutter run
위의 코드는 기기나 에뮬레이터에 앱을 빌드하고 설치합니다.
결론 및 리소스
이 튜토리얼에서는 Flutter 애플리케이션에서 지문 인증을 쉽게 통합하는 방법에 대해 배웠습니다.
다음은 Github Source Code에 대한 링크입니다.
A TIP FROM THE EDITOR: For other way of implementing authentication, please consider our Implementing Facebook Authentication for Flutter article.
Reference
이 문제에 관하여(Flutter 애플리케이션을 위한 지문 인증), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asayerio_techblog/fingerprint-authentication-for-your-flutter-applications-2m5l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)