본문 바로가기
@capgo/capacitor-native-biometric 인증 및 보안 오픈 소스

네이티브 생체 인식 Capacitor 플러그인

Face ID, Touch ID 및 Android biometric API를 사용한 안전한 인증

설치

bun add @capgo/capacitor-native-biometric bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-native-biometric
  • pnpm add @capgo/capacitor-native-biometric
  • yarn add @capgo/capacitor-native-biometric

가이드

Capacitor에서 Native Biometric 사용 방법

기기에서 테스트하기

Capgo 앱을 다운로드한 후 QR code을 스캔하세요.

Native Biometric 플러그인 미리보기 QR code

@capgo/capacitor-native-biometric 사용하기

이 플러그인을 사용하면 Android 및 iOS의 native biometric API에 접근할 수 있습니다.

설치

bun add @capgo/capacitor-native-biometric
bunx cap sync

bunx cap sync 플러그인의 네이티브 code를 네이티브 프로젝트에 복사합니다. 플러그인을 업그레이드할 때마다 다시 실행하세요.

가져오기

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

API 한눈에 보기

메서드 설명
isAvailable 생체 인증 하드웨어 사용 가능 여부를 확인합니다.
verifyIdentity 사용자에게 생체 인증을 요청합니다.
getCredentials 지정된 서버의 저장된 인증 정보를 가져옵니다.
setCredentials 지정된 서버의 인증 정보를 저장합니다.
deleteCredentials 지정된 서버의 저장된 인증 정보를 삭제합니다.
getSecureCredentials 생체 인증을 통해 지정된 서버의 저장된 인증 정보를 가져옵니다. 인증 정보는 accessControl이 BIOMETRY_CURRENT_SET 또는 BIOMETRY_ANY로 설정되어 저장되어야 합니다.
isCredentialsSaved 지정된 서버에 대한 인증 정보가 이미 저장되어 있는지 확인합니다.
setData 지정된 키에 임의의 문자열 값을 저장합니다. 값은 플랫폼 보안 저장소(Android Keystore + SharedPreferences, iOS Keychain)를 통해 암호화되어 저장됩니다.
getData 지정된 키로 이전에 저장된 값을 가져옵니다. 생체 인증 없이 저장된 값만 반환합니다. accessControl.
getSecureData 지정된 키에 대해 생체 인증으로 보호된 값을 가져옵니다. 해당 값은 반드시 accessControl BIOMETRY_CURRENT_SET 또는 BIOMETRY_ANY로 설정되어 저장되어야 합니다.
deleteData 지정된 키에 저장된 값을 삭제합니다 (보호된 값 및 일반 값 포함).
isDataSaved 지정된 키에 이미 저장된 값이 있는지 확인합니다.

예시

isAvailable()

생체 인증 하드웨어를 사용할 수 있는지 확인합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

const result = await NativeBiometric.isAvailable();
console.log(result);

verifyIdentity()

사용자에게 생체 인증을 요청합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

await NativeBiometric.verifyIdentity();

getCredentials()

지정된 서버의 저장된 인증 정보를 가져옵니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

const result = await NativeBiometric.getCredentials({ server: 'example.com' });
// The result holds sensitive values: use it without logging it.

setCredentials()

지정된 서버의 인증 정보를 저장합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

await NativeBiometric.setCredentials({
  username: 'username',
  password: 'password',
  server: 'example.com',
});

deleteCredentials()

지정된 서버의 저장된 인증 정보를 삭제합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

await NativeBiometric.deleteCredentials({ server: 'example.com' });

getSecureCredentials()

생체 인증을 통해 지정된 서버의 저장된 인증 정보를 가져옵니다. 인증 정보는 accessControl이 BIOMETRY_CURRENT_SET 또는 BIOMETRY_ANY로 설정되어 저장되어 있어야 합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

const result = await NativeBiometric.getSecureCredentials({ server: 'example.com' });
// The result holds sensitive values: use it without logging it.

위 표에는 12개의 핵심 메서드가 나열되어 있습니다. Listener 및 version 헬퍼, 그리고 각 메서드의 전체 계약(contract)은 다음 문서에 설명되어 있습니다. GitHub 리포지토리.

이벤트 수신

addListener 핸들을 반환합니다. 호출하세요 handle.remove() 화면이 언마운트될 때.

전체 레퍼런스

@capgo/capacitor-native-biometric 사용하기부터 계속하기

사용 중이라면 @capgo/capacitor-native-biometric 사용하기 인증 및 계정 흐름을 설계할 때, 이를 다음 항목과 연결하세요: @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric의 구현 세부 사항은, 시작하기 Getting Started의 구현 상세 내용은 @capgo/capacitor-social-login @capgo/capacitor-social-login의 구현 세부 사항은, @capgo/capacitor-passkey @capgo/capacitor-passkey의 구현 세부 사항과 2단계 인증 2단계 인증의 구현 세부 사항에 대해서는

자주 묻는 질문

Native Biometric 플러그인 FAQ

Capacitor 앱에 Native Biometric 플러그인을 어떻게 설치하나요?

"bun add @capgo/capacitor-native-biometric" (또는 "npm install @capgo/capacitor-native-biometric")를 실행한 다음, "bunx cap sync"를 실행하여 iOS 및 Android 프로젝트에 네이티브 code가 반영되도록 하세요. 그 후 앱의 code에서 "@capgo/capacitor-native-biometric"를 통해 임포트하면 됩니다.

@capgo/capacitor-native-biometric가 React, Vue, Angular와 호환되나요?

네. Native Biometric은 Capacitor 패키지이므로 Ionic, React, Vue, Angular, Svelte 및 일반 JavaScript를 포함하여 Capacitor에서 실행되는 모든 웹 프레임워크와 호환됩니다.

@capgo/capacitor-native-biometric는 어떤 Capacitor 버전을 지원하나요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capgo/capacitor-native-biometric는 무료 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-native-biometric/에서 공개되어 있으며, npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request는 언제나 환영합니다.

App Store 심사 없이 Native Biometric을 사용하는 code를 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 심사 대기 없이 Native Biometric 변경 사항을 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기