@ha_tecno/react-native-sdk
Version:
React Native SDK for biometric authentication, liveness detection, and fingerprint recognition
98 lines (92 loc) • 2.01 kB
text/typescript
import { api } from '../http/api';
export type BiometricLoginParams = {
deviceModel: string;
uid: string;
image: string;
finger: string;
exposure: number;
zoom: number;
meanScore: number;
stdScore: number;
varScore: number;
};
export type BiometricRegisterParams = {
deviceModel: string;
uid: string;
imagens: string[];
finger: string;
exposure: number;
zoom: number;
meanScore: number;
stdScore: number;
varScore: number;
};
export type BiometricResponse = {
status: number;
message?: string;
[key: string]: any;
};
export const biometricService = {
loginWithFingerprint: async ({
deviceModel,
uid,
image,
finger,
exposure,
zoom,
meanScore,
stdScore,
varScore,
}: BiometricLoginParams): Promise<BiometricResponse> => {
try {
const result = await api.post('/v3/verify', {
device_model: deviceModel,
UID: uid,
image,
finger,
exposure,
zoom,
mean_score: meanScore,
std_score: stdScore,
var_score: varScore,
});
return result as BiometricResponse;
} catch (error: any) {
return {
status: error?.status || 400,
message: error?.message || 'Erro ao verificar biometria',
};
}
},
registerWithFingerprint: async ({
deviceModel,
uid,
imagens,
finger,
exposure,
zoom,
meanScore,
stdScore,
varScore,
}: BiometricRegisterParams): Promise<BiometricResponse> => {
try {
const result = await api.post('/v3/enroll-imagens', {
device_model: deviceModel,
UID: uid,
imagens,
finger,
exposure,
zoom,
mean_score: meanScore,
std_score: stdScore,
var_score: varScore,
});
return result as BiometricResponse;
} catch (error: any) {
return {
status: error?.status || 400,
message: error?.message || 'Erro ao cadastrar biometria',
};
}
},
};