내용으로 건너뛰기

Getting Started

GitHub

AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 Capgo 스킬을 추가하려면 다음 명령어를 사용하세요.

터미널 창
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

다음과 같은 명령어를 사용하세요:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-biometric` plugin in my project.

만약 Manual Setup을 선호한다면, 플러그인을 설치하기 위해 다음 명령어를 실행하고 아래의 플랫폼에 맞는 설명을 따라하세요:

터미널 창
bun add @capgo/capacitor-native-biometric
bunx cap sync
import { NativeBiometric } from '@capgo/capacitor-native-biometric';

isAvailable

isAvailable

비омет릭 인증 장치가 사용 가능한지 확인합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.isAvailable();

verifyIdentity

verifyIdentity

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

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.verifyIdentity();

getCredentials

getCredentials

지정된 서버에 저장된 자격 증명을 가져옵니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.getCredentials({} as GetCredentialOptions);

setCredentials

setCredentials

지정된 서버에 저장된 자격 증명을 저장합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.setCredentials({} as SetCredentialOptions);

deleteCredentials

삭제된 자격 증명

특정 서버에 저장된 자격 증명을 삭제합니다.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.deleteCredentials({} as DeleteCredentialOptions);

getSecureCredentials

자격 증명 가져오기

특정 서버에 저장된 자격 증명을 가져옵니다. 이 자격 증명은 BIOMETRY_CURRENT_SET 또는 BIOMETRY_ANY로 설정된 accessControl이 있어야 합니다. iOS에서, 시스템은 보호된 Keychain 항목에 접근할 때 자동으로 생체 인증 프롬프트를 표시합니다. Android에서, BiometricPrompt는 자격 증명 암호화 키에 바운드된 암호화 키를 사용하여 자격 증명 암호화를 표시합니다.

클립보드에 복사

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.getSecureCredentials({} as GetSecureCredentialsOptions);

isCredentialsSaved

클립보드에 복사

타입 참조

import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.isCredentialsSaved({} as IsCredentialsSavedOptions);

IsAvailableOptions

IsAvailableOptions
export interface IsAvailableOptions {
/**
* Only for iOS.
* Specifies if should fallback to passcode authentication if biometric authentication is not available.
* On Android, this parameter is ignored due to BiometricPrompt API constraints:
* DEVICE_CREDENTIAL authenticator and negative button (cancel) are mutually exclusive.
*/
useFallback: boolean;
}

AvailableResult

AvailableResult

isAvailable() 메소드의 생체 인증 가능성 지시자.

export interface AvailableResult {
/**
* Whether authentication is available (biometric or fallback if useFallback is true)
*/
isAvailable: boolean;
/**
* The strength of available authentication method (STRONG, WEAK, or NONE)
*/
authenticationStrength: AuthenticationStrength;
/**
* The primary biometry type available on the device.
* On Android devices with multiple biometry types, this returns MULTIPLE.
* Use this for display purposes only - always use isAvailable for logic decisions.
*/
biometryType: BiometryType;
/**
* Whether the device has a secure lock screen (PIN, pattern, or password).
* This is independent of biometric enrollment.
*/
deviceIsSecure: boolean;
/**
* Whether strong biometry (Face ID, Touch ID, or fingerprint on devices that consider it strong)
* is specifically available, separate from weak biometry or device credentials.
*/
strongBiometryIsAvailable: boolean;
/**
* Error code from BiometricAuthError enum. Only present when isAvailable is false.
* Indicates why biometric authentication is not available.
* @see BiometricAuthError
*/
errorCode?: BiometricAuthError;
}

BiometryChangeListener

BiometryChangeListener

생체 인증 변경 리스너 콜백 타입.

export type BiometryChangeListener = (result: AvailableResult) => void;

BiometricOptions

BiometricOptions
export interface BiometricOptions {
reason?: string;
title?: string;
subtitle?: string;
description?: string;
negativeButtonText?: string;
/**
* Only for iOS.
* Specifies if should fallback to passcode authentication if biometric authentication fails.
* On Android, this parameter is ignored due to BiometricPrompt API constraints:
* DEVICE_CREDENTIAL authenticator and negative button (cancel) are mutually exclusive.
*/
useFallback?: boolean;
/**
* Only for iOS.
* Set the text for the fallback button in the authentication dialog.
* If this property is not specified, the default text is set by the system.
*/
fallbackTitle?: string;
/**
* Only for Android.
* Set a maximum number of attempts for biometric authentication. The maximum allowed by android is 5.
* @default 1
*/
maxAttempts?: number;
/**
* Only for Android.
* Specify which biometry types are allowed for authentication.
* If not specified, all available types will be allowed.
* @example [BiometryType.FINGERPRINT, BiometryType.FACE_AUTHENTICATION]
*/
allowedBiometryTypes?: BiometryType[];
}

GetCredentialOptions

GetCredentialOptions
export interface GetCredentialOptions {
server: string;
}

Credentials

인증 정보
export interface Credentials {
username: string;
password: string;
}

SetCredentialOptions

인증 정보 설정
export interface SetCredentialOptions {
username: string;
password: string;
server: string;
/**
* Access control level for the stored credentials.
* When set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY, the credentials are
* hardware-protected and require biometric authentication to access.
*
* On iOS, this adds SecAccessControl to the Keychain item.
* On Android, this creates a biometric-protected Keystore key and requires
* BiometricPrompt authentication for both storing and retrieving credentials.
*
* @default AccessControl.NONE
* @since 8.4.0
*/
accessControl?: AccessControl;
}

DeleteCredentialOptions

인증 정보 삭제
export interface DeleteCredentialOptions {
server: string;
}

GetSecureCredentialsOptions

안전한 인증 정보 가져오기
export interface GetSecureCredentialsOptions {
server: string;
/**
* Reason for requesting biometric authentication.
* Displayed in the biometric prompt on both iOS and Android.
*/
reason?: string;
/**
* Title for the biometric prompt.
* Only for Android.
*/
title?: string;
/**
* Subtitle for the biometric prompt.
* Only for Android.
*/
subtitle?: string;
/**
* Description for the biometric prompt.
* Only for Android.
*/
description?: string;
/**
* Text for the negative/cancel button.
* Only for Android.
*/
negativeButtonText?: string;
}

IsCredentialsSavedOptions

인증 정보 저장 여부
export interface IsCredentialsSavedOptions {
server: string;
}

IsCredentialsSavedResult

인증 정보 저장 여부 결과
export interface IsCredentialsSavedResult {
isSaved: boolean;
}

AuthenticationStrength

인증 강도
export enum AuthenticationStrength {
/**
* No authentication available, even if PIN is available but useFallback = false
*/
NONE = 0,
/**
* Strong authentication: Face ID on iOS, fingerprints on devices that consider fingerprints strong (Android).
* Note: PIN/pattern/password is NEVER considered STRONG, even when useFallback = true.
*/
STRONG = 1,
/**
* Weak authentication: Face authentication on Android devices that consider face weak,
* or PIN/pattern/password if useFallback = true (PIN is always WEAK, never STRONG).
*/
WEAK = 2,
}

실질적인 출처

실질적인 출처

이 페이지는 플러그인의 src/definitions.ts공개 API이 업스트림에서 변경될 때 다시 싱크를 실행하세요.

Getting Started 사용 중인 경우 Getting Started를 사용하여 인증 및 계정 흐름을 계획하고 있으면 사용 중인 @capgo/capacitor-native-biometric 자연스러운 기능을 위해 @capgo/capacitor-native-biometric을 사용합니다. @capgo/capacitor-social-login 자연스러운 기능을 위해 @capgo/capacitor-social-login을 구현합니다. @capgo/capacitor-passkey 자연스러운 기능을 위해 @capgo/capacitor-passkey을 구현합니다. @capgo/capacitor-native-biometric 자연스러운 기능을 위해 @capgo/capacitor-native-biometric을 구현합니다. 두 단계 인증 자연스러운 기능을 위해 두 단계 인증을 구현합니다.