Flutter 애플리케이션을 위한 지문 인증

6082 단어 authenticationflutter
의해 Emmanuel Uchechukwu

지문 인증은 모바일 애플리케이션의 필수 요구 사항이 되었습니다. 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_authFragmentActivity 대신 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.



    좋은 웹페이지 즐겨찾기