@ekyc-zma-sdk/liveness
v1.0.7
Published
Thư viện các api hỗ trợ liveness, tích hợp vào các ứng dụng web, bao gồm zalo mini app.
Downloads
71
Readme
EKYC ZMA SDK Liveness
Thư viện các api hỗ trợ liveness, tích hợp vào các ứng dụng web, bao gồm zalo mini app.
Installation
npm install @ekyc-zma-sdk/livenessConfiguration
Thiết lập các thông tin cơ bản được cung cấp. Các thông tin này được admin cấp cho đối tác.
import { config } from '@ekyc-zma-sdk/liveness';
// Configure the SDK
config({
appId: 'your-app-id',
baseUrl: 'https://api.example.com',
publicKey: '-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----',
privateKey: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----'
});Lưu ý: gọi hàm config trước khi thực hiện luồng liveness
Features
Luồng liveness:
- B1: khởi tạo một transaction
import { initTransactionApi, verifyFaceDynamicFlashApi, InitTransactionData } from "@ekyc-zma-sdk/liveness";
const initLiveness = useCallback(async () => {
console.log("client transaction id: ", clientTransactionId)
setError(undefined)
setTransactionData(undefined)
const res = await initTransactionApi({ withToken: true, clientTransactionId: clientTransactionId })
if (typeof res.data === "object" && res.data !== null) {
const transactionData = res.data as { transactionId: string; verifyToken: string };
setTransactionData(transactionData)
}
}, [])
useEffect(() => {
initLiveness()
}, [])- B2: Sau khi khởi tạo transaction thành công, sẽ nhận được verifyToken, lấy giá trị này truyền vào token của liveness component.
import "@iproov/web-sdk"
<iproov-me
token={verifyToken}
base_url="https://sg.rp.secure.iproov.me"
>
</iproov-me>- B3: khi liveness thành công, gọi hàm verifyFaceDynamicFlashApi với transaction_id nhận được từ B1, kết thúc luồng liveness.
const handlePassed = (event: any) => {
console.log("✅ Liveness completed, call validate API here");
const verifyFace = async () => {
if (transactionId) {
const res = await verifyFaceDynamicFlashApi({
transaction_id: transactionId
})
console.log("liveness result: ", res)
const success = res.success && res.data.success
if (success) {
// xử lý khi thành công
} else {
// xử lý thất bại
}
}
}
verifyFace()
};Sample
Xem sample tại đây, bao gồm full luồng ekyc, bao gồm cả read-card và liveness.
