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 tin | Mô tả |
|---|---|
| Trình duyệt | Chạy trên trình duyệt hiện đại và bên trong WebView. Yêu cầu HTTPS và quyền camera. |
| WebView | Trê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
scanStart(['face'], opts) → chụp → tải lên → sanity khuôn mặt → livenessKế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 tin | Mô tả |
|---|---|
| Đăng ký khuôn mặt | Lần đăng ký đầu tiên. |
| Xác minh Face Authen | Mọ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ểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
faceauthClientId | string | Không | — | Client ID cho xác thực khuôn mặt. |
faceauthRefId | string | Không | — | Reference ID cho xác thực khuôn mặt. |
isNTB | boolean | Khô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. |
timeoutDuration | number | Không | — | Timeout tính bằng mili-giây. |
currentZoom | number | Khô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ểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
baseUrl | string | Có | — | Base URL cho các request API. |
token | string | Có | — | Authentication token. Lấy từ backend của bạn tại thời điểm chạy. |
resourcePath | string | Không | — | Đường dẫn đến tài nguyên SDK. |
headers | Record<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ường | Kiểu | Mô tả |
|---|---|---|
60002 | FACE_SANITY_FAILED | Kiểm tra sanity khuôn mặt thất bại. |
60003 | FACE_LIVENESS_FAILED | Kiể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:
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 tin | Mô tả |
|---|---|
| Tải ảnh lên | Mọ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ặt | Chạy qua các endpoint của eKYC mà SDK gọi nội bộ. |
| Xác minh Face Authen | Bướ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ịch | Redeem authentication_key và đóng giao dịch. |
Bước tiếp theo
- Tích hợp Web SDK — thiết lập, scan và xử lý lỗi
- Đăng ký khuôn mặt — đăng ký các image ID đã chụp
- Xác minh Face Authen — xác thực bằng một lần chụp mới