Permission denied on git mv, used robocopy instead. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
856 B
TypeScript
26 lines
856 B
TypeScript
import * as LocalAuth from 'expo-local-authentication'
|
|
|
|
export async function isBiometricAvailable(): Promise<boolean> {
|
|
const hasHardware = await LocalAuth.hasHardwareAsync()
|
|
const isEnrolled = await LocalAuth.isEnrolledAsync()
|
|
return hasHardware && isEnrolled
|
|
}
|
|
|
|
export async function authenticateWithBiometric(
|
|
promptMessage = 'GUARDiA 로그인'
|
|
): Promise<{ success: boolean; error?: string }> {
|
|
const available = await isBiometricAvailable()
|
|
if (!available) return { success: false, error: '생체인증을 사용할 수 없습니다.' }
|
|
|
|
const result = await LocalAuth.authenticateAsync({
|
|
promptMessage,
|
|
cancelLabel: '취소',
|
|
fallbackLabel: '비밀번호 사용',
|
|
disableDeviceFallback: false,
|
|
})
|
|
|
|
return result.success
|
|
? { success: true }
|
|
: { success: false, error: result.error ?? '인증 실패' }
|
|
}
|