Skip to content

Tổng quan Web SDK ​

FaceAuthen không có web SDK riêng. Nó dùng lại CAKE eKYC Web SDK — cùng bundle window.ekyc — gọi scanStart(['face']) với các tùy chọn của FaceAuthen. Trang này chỉ đề cập đến luồng xác thực khuôn mặt.

Nền tảng ​

Thông tinMô tả
Trình duyệtChạy trên trình duyệt hiện đại và bên trong WebView. Yêu cầu HTTPS và quyền camera.
WebViewTrên WebView của iOS, bật chế độ phát media inline — allowsInlineMediaPlayback trong Flutter và React Native.
Node Engine>= 20 để build bundle.

Phiên bản hiện tại 1.3.20. Nhận diện khuôn mặt chạy ngay trên thiết bị thông qua @vladmandic/human và TensorFlow.js, nên một ảnh selfie bị mờ hoặc bị che sẽ bị từ chối trước khi tải lên.

SDK làm gì cho FaceAuthen ​

text
scanStart(['face'], opts)  →  chụp → tải lên → sanity khuôn mặt → liveness

Kết quả trả cho bạn các image ID đã vượt qua kiểm tra chất lượng và liveness. Chúng cấp dữ liệu cho hai lệnh gọi FaceAuthen mà backend của bạn thực hiện:

Thông tinMô tả
Đăng ký khuôn mặtLần đăng ký đầu tiên.
Xác minh Face AuthenMọi lần xác thực tiếp theo.

API dựa trên class cũng expose trực tiếp verifyFaceAuthentication — xem Tích hợp Web SDK.

Tùy chọn scan của FaceAuthen ​

scanStart nhận các tùy chọn tồn tại riêng cho xác thực khuôn mặt.

Tham sốKiểuBắt buộcMặc địnhMô tả
faceauthClientIdstringKhông—Client ID cho xác thực khuôn mặt.
faceauthRefIdstringKhông—Reference ID cho xác thực khuôn mặt.
isNTBbooleanKhông—Cờ khách hàng New-to-Bank. Phân biệt lần đăng ký đầu tiên với người dùng quay lại.
timeoutDurationnumberKhông—Timeout tính bằng mili-giây.
currentZoomnumberKhông—Mức zoom hiện tại.

isNTB là yếu tố phân tách hai luồng: true dẫn đến đăng ký, false dẫn đến xác thực với hồ sơ đã có.

Cấu hình chung ​

Tham sốKiểuBắt buộcMặc địnhMô tả
baseUrlstringCó—Base URL cho các request API.
tokenstringCó—Authentication token. Lấy từ backend của bạn tại thời điểm chạy.
resourcePathstringKhông—Đường dẫn đến tài nguyên SDK.
headersRecord<string, string>Không—Header HTTP bổ sung.

WARNING

Lấy token từ backend của bạn tại thời điểm chạy — không bao giờ hardcode nó trong trang. Access Key không bao giờ được phép đến trình duyệt; xem Ký request để biết SDK ký bằng một JWT riêng cho từng giao dịch thay vào đó như thế nào.

Mã lỗi của SDK ​

Do chính SDK phát sinh, tách biệt với mã lỗi API của FaceAuthen.

TrườngKiểuMô tả
60002FACE_SANITY_FAILEDKiểm tra sanity khuôn mặt thất bại.
60003FACE_LIVENESS_FAILEDKiểm tra liveness khuôn mặt thất bại.

Các mã CCCD 60000 và 60001 cũng tồn tại trong cùng bundle nhưng không bao giờ xuất hiện trong luồng FaceAuthen.

Response cũng có thể mang theo sdkError:

typescript
sdkError?: { code: string; message: string } | {}
// {}             -> không có lỗi phía SDK
// {code,message} -> SDK phát hiện một lỗi bạn cần xử lý

WARNING

Một promise được resolve không có nghĩa là đã đạt. Hãy kiểm tra mảng error và sdkError trên mọi response — một kết quả trông có vẻ thành công vẫn có thể mang theo một kết luận sanity hoặc liveness thất bại.

API được sử dụng ​

Thông tinMô tả
Tải ảnh lênMọi ảnh selfie đã chụp đều được tải lên trước khi bất kỳ kiểm tra nào chạy.
Sanity và liveness khuôn mặtChạy qua các endpoint của eKYC mà SDK gọi nội bộ.
Xác minh Face AuthenBước xác minh FaceAuthen mà backend của bạn thực hiện.
Xác minh khóa xác thực giao dịchRedeem authentication_key và đóng giao dịch.

Bước tiếp theo ​

Developers