본문 바로가기
Programming/Cross-platform

[MAUI] 생체인증 라이브러리 적용하기

by 째스터 2022. 9. 5.
728x90

이제 모바일에서 거의 필수로 자리잡은 생체 인증.
쉽게 구현할 수 있는 라이브러리를 발견했다.

https://github.com/smstuebe/xamarin-fingerprint

 

GitHub - smstuebe/xamarin-fingerprint: Xamarin and MvvMCross plugin for authenticate a user via fingerprint sensor

Xamarin and MvvMCross plugin for authenticate a user via fingerprint sensor - GitHub - smstuebe/xamarin-fingerprint: Xamarin and MvvMCross plugin for authenticate a user via fingerprint sensor

github.com

나는 위 repo. 방식대로 했더니 잘 동작하지 않았다.
3.0.0-beta.1 버전을 설치해서 그런 것 같다.
내가 적용한 방법은 다음과 같다(상세 수정사항은 아래 링크 참고).
https://github.com/HanJaeJoon/MyMaui/commit/f44832e7f76ba5f642be3963b72f6df02afbb939

 

생체 인식 기능 추가 · HanJaeJoon/MyMaui@f44832e

Show file tree Showing 4 changed files with 47 additions and 18 deletions.

github.com


1.
안드로이드 SDK 버전을 12.0(API 31)으로 설정한다.
프로젝트 properties에서 설정하면 된다.

이유는 단순히 아래 경고 메시지가 거슬렸기 때문이다.

경고가 나와도 괜찮다면 2번에서 시작해도 된다.


2.
AndroidManifest.xml 파일에 아래 권한을 추가한다.

<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />


3.
Android/MainActivity.cs 파일에 아래 소스코드를 추가한다.

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);

    CrossFingerprint.SetCurrentActivityResolver(() => this);
}


4.
예제에 있는 생체 인증 코드를 적용한다.

AuthenticationRequestConfiguration request = new("Prove you have fingers!", "Because without it you can't have access");
FingerprintAuthenticationResult result = await CrossFingerprint.Current.AuthenticateAsync(request);

if (!result.Authenticated)
{
    return;
}

 

아래와 같이 생체 인증이 가능하다.
참고로 생체인증 화면은 보안상의 이유로 화면 캡쳐가 불가능하다.

 

728x90

댓글