Apa itu FACEIO?
FACEIO adalah platform autentikasi wajah dari PixLab ↗ yang memungkinkan aplikasi web mendaftarkan dan mengautentikasi pengguna melalui wajah tanpa kata sandi, OTP, atau sensor biometrik khusus dalam alur FACEIO. Layanan ini menggunakan webcam standar atau kamera ponsel pada browser modern yang didukung.
Library sisi kliennya adalah fio.js. Library ini menyediakan dua metode utama: enroll() untuk pendaftaran dan authenticate() untuk login, serta utilitas restartSession() untuk alur multioperasi. FACEIO mengoordinasikan alur autentikasi, sedangkan mesin pengenalan wajah yang dipilih pemilik aplikasi melakukan pencocokan wajah dan mengelola hash biometrik. Aplikasi Anda menerima Promise yang berhasil diselesaikan berisi Facial ID serta payload
yang dikaitkan saat pendaftaran.
Baru menggunakan FACEIO?
Mulai dengan Panduan Penyiapan 5 Menit untuk membuat aplikasi pertama dan memperoleh Public ID dari FACEIO Console ↗.
Integrasi Library fio.js
fio.js berfungsi pada browser modern yang didukung menggunakan webcam standar atau kamera ponsel, tanpa memerlukan sensor biometrik khusus. Library JavaScript ini tidak bergantung pada framework dan dapat digunakan dengan React, Vue, Angular, Next.js, atau JavaScript biasa.
1
Impor fio.js ke Situs Web Anda
Tempelkan cuplikan berikut sebelum tag penutup </body> pada halaman yang memerlukan autentikasi wajah. Library dimuat dari
CDN ↗
FACEIO. Self-hosting tidak didukung agar integrasi menerima pembaruan fio.js yang didukung melalui CDN FACEIO.
-
Selalu muat
fio.jsdari cdn.faceio.net ↗. Self-hosting tidak didukung. - Menggunakan build tool? Instal melalui paket NPM resmi ↗.
- Panduan untuk React, Vue, Angular, dan Next.js tersedia di bagian Tutorial Komunitas.
2
Buat instance faceIO
Buat instance faceIO() dengan Public ID aplikasi Anda. ID ini tersedia di Application Manager pada FACEIO Console ↗.
Sebelum melanjutkan, pastikan Anda telah:
- Membuat aplikasi FACEIO dan memilih mesin pengenalan wajah melalui FACEIO Console ↗.
- Meninjau opsi keamanan (kebijakan PIN Code dan pembatasan domain) dalam panduan praktik terbaik keamanan.
- Meninjau rekomendasi privasi, termasuk cara penanganan Facial IDs, sesuai panduan praktik terbaik privasi.
3 Jalankan Widget
Setelah fio.js dimuat dan instance faceIO() siap, mulai proses pengenalan wajah dengan memanggil salah satu metode yang disediakan oleh class:
Mendaftarkan pengguna baru melalui pengenalan wajah. Ini setara dengan proses pendaftaran tradisional tanpa kata sandi.
Mengautentikasi pengguna yang sudah terdaftar. Ini setara dengan login tradisional tanpa kata sandi.
Templat Referensi
Templat HTML menyediakan implementasi referensi untuk kedua metode beserta penanganan error yang lengkap.
enroll() - Daftarkan Pengguna Baru
Menjalankan Widget FACEIO untuk mendaftarkan pengguna baru melalui pengenalan wajah. Ini setara dengan pendaftaran tradisional tanpa kata sandi. Jika berhasil, metode ini mengembalikan Promise berisi object
userInfo yang memuat Facial ID unik pengguna, timestamp pendaftaran, serta estimasi demografis gender dan usia.
Sintaks
promise = faceio.enroll({ parameters })
enrol()
register()
record()
userInfo jika berhasil, atau ditolak dengan fioErrCode jika gagal.
Deskripsi
Saat dipanggil, Widget FACEIO meminta persetujuan pengguna bila diperlukan, meminta akses kamera, lalu mengirim tangkapan ke mesin pengenalan wajah yang dipilih pemilik aplikasi.
FACEIO tidak menyimpan, menangani, atau mengakses hash biometrik. Mesin pengenalan wajah yang dipilih membuat dan mengelola hash biometrik untuk pencocokan, sedangkan integrasi Anda menerima Facial ID yang dihasilkan dan data pendaftaran.
payload mengaitkan data arbitrer (email, userId, nama, dan sebagainya) dengan pengguna terdaftar. Data ini dikembalikan pada setiap autentikasi yang berhasil
untuk pengguna tersebut. Ukuran maksimum 16 KB. Gunakan Base64 untuk konten biner atau non-ASCII.
Parameter
Menerima satu object opsional. Semua propertinya bersifat opsional:
Nilai Kembali
Sebuah Promise yang diselesaikan dengan objek userInfo jika berhasil, atau ditolak dengan kode error jika gagal:
Contoh
- Simpan
facialIdyang dikembalikan di database sebagai kunci autentikasi unik pengguna. -
payloaddikembalikan tanpa perubahan pada setiap pemanggilanauthenticate()berikutnya untuk pengguna ini. - Lihat Template HTML untuk melihat referensi lengkap yang berfungsi.
authenticate() - Autentikasi Pengguna
Menjalankan Widget FACEIO untuk memverifikasi pengguna yang sudah terdaftar. Ini setara dengan login tradisional tanpa kata sandi. Jika berhasil, metode ini mengembalikan Promise berisi object
userData yang memuat Facial ID pengguna, timestamp autentikasi, dan payload yang dikaitkan saat pendaftaran.
Sintaks
promise = faceio.authenticate({ parameters })
auth()
recognize()
identify()
userData jika berhasil, atau ditolak dengan fioErrCode jika gagal.
Deskripsi
Saat dipanggil, Widget FACEIO meminta akses kamera dan membandingkan tangkapan dengan indeks wajah terdaftar milik aplikasi Anda. Durasi bergantung pada izin kamera, kualitas gambar, pemeriksaan liveness, kondisi jaringan, dan konfigurasi alur.
Pencocokan wajah dilakukan oleh mesin pengenalan wajah yang dipilih. FACEIO tidak menyimpan, menangani, atau mengakses hash biometrik. Integrasi sisi klien Anda bekerja dengan hasil autentikasi yang dikembalikan.
payload yang dikaitkan saat enroll() akan dikembalikan tanpa perubahan di dalam objek userData
yang diselesaikan. Validasi facialId yang dikembalikan dan terapkan aturan otorisasi sisi server Anda sebelum membuat sesi situs web atau aplikasi web.
Parameter
Menerima satu object opsional. Semua propertinya bersifat opsional:
Nilai Kembali
Sebuah Promise yang diselesaikan dengan objek userData jika berhasil, atau ditolak dengan kode error jika gagal:
Contoh
- Bandingkan
facialIdyang dikembalikan dengan database sebelum mengotorisasi sesi. - Data
payloadpendaftaran, seperti email atau userId, tersedia diuserData.payload. Tetap validasi sesi di backend Anda. - Lihat Template HTML untuk melihat referensi lengkap.
restartSession() - Mulai Ulang Sesi
Mereset sesi FACEIO saat ini agar pemanggilan baru ke
enroll() atau
authenticate()
dapat dilakukan pada halaman yang sama tanpa memuat ulang seluruh halaman. Berguna untuk terminal bersama, meja check-in, atau alur lain ketika beberapa orang menggunakan sesi browser yang sama secara berurutan.
Sintaks
boolean = faceio.restartSession()
true ketika sesi berhasil direset dan siap untuk operasi baru; jika tidak, false.Deskripsi
Setelah enroll() atau authenticate() diselesaikan atau ditolak, sesi internal FACEIO ditandai telah digunakan. Pemanggilan berikutnya pada instance faceIO yang sama tanpa reset akan langsung ditolak dengan fioErrCode.SESSION_IN_PROGRESS.
Memanggil restartSession() menghapus status ini sehingga instance siap untuk operasi pengenalan berikutnya.
- Kios atau terminal bersama - Memungkinkan beberapa pengguna melakukan autentikasi berurutan pada perangkat yang sama tanpa memuat ulang halaman.
- Alur daftar lalu autentikasi - Daftarkan pengguna, reset sesi, lalu autentikasi pada halaman yang sama.
- Coba lagi setelah error - Reset setelah operasi gagal agar pengguna dapat mencoba lagi tanpa memuat ulang halaman.
faceIO. Jika Anda membuat beberapa instance faceIO (tidak disarankan), masing-masing memiliki status sesi sendiri.Fitur Premium
Pembuatan sesi dinamis hanya tersedia pada paket Premium. Tingkatkan paket aplikasi melalui FACEIO Console ↗ untuk menggunakan fitur ini.
Nilai Kembali
true - Sesi berhasil direset dan instance siap untuk pemanggilan enroll() atau authenticate().false ketika sesi baru tidak dapat dibuat.Kode Error - fioErrCode
Ketika enroll() atau authenticate() gagal, Promise ditolak dengan nilai numerik fioErrCode. Tangani error dengan memeriksa nilai ini di dalam handler .catch(). Untuk restartSession(), periksa nilai boolean yang dikembalikan (true atau false).
Praktik Terbaik Penanganan Error
Selalu tangani error dengan pesan yang jelas bagi pengguna. Gunakan pernyataan switch atau rangkaian if-else untuk menangani setiap kode dan mengarahkan pengguna, misalnya menawarkan pendaftaran ketika fioErrCode.UNRECOGNIZED_FACE dikembalikan.
Template HTML
Implementasi referensi dengan
enroll() dan
authenticate()
dan penanganan error. Gunakan sebagai titik awal integrasi Anda.
Penting
Ganti app-public-id dengan Public ID aplikasi yang sebenarnya dari FACEIO Console ↗.
Template Referensi
Catatan Implementasi
-
enroll()pada baris 31 menyertakanpayloaddengan data pengguna contoh. Sesuaikan dengan kebutuhan situs web atau aplikasi web Anda. -
Simpan
facialIddi database dan kaitkan dengan akun pengguna untuk autentikasi berikutnya. - Handler error pada baris 60 mencakup kode error umum. Sesuaikan pesannya dengan situs web atau aplikasi web Anda.
-
Template ini memerlukan server HTTP yang aktif.
fio.jstidak dapat dimuat langsung dari sistem file lokal karena pembatasan keamanan browser. - Tinjau panduan praktik terbaik keamanan dan panduan praktik terbaik privasi sebelum melakukan deployment ke produksi.
Tutorial Komunitas
Gunakan panduan komunitas ini untuk mengimplementasikan fio.js dengan React, Vue, Angular, Next.js, atau JavaScript biasa serta meninjau contoh proyek React Native dan Flutter.
Paket resmi untuk build tool JavaScript dan proyek berbasis framework.
Lihat di NPMTemukan jawaban, bagikan pengalaman, dan berdiskusi dengan pengembang FACEIO lainnya.
Buka ForumPanduan login tanpa kata sandi, verifikasi usia, dan deteksi liveness dalam satu solusi.
Lihat TutorialBuat alur kehadiran dengan FACEIO dan JavaScript biasa tanpa framework.
Lihat TutorialBuat chatbot perencana perjalanan dengan autentikasi wajah menggunakan Next.js.
Lihat TutorialTambahkan pengenalan wajah ke aplikasi React dan Tailwind CSS.
Lihat TutorialTutorial implementasi autentikasi wajah FACEIO pada aplikasi Vue.js.
Lihat TutorialPanduan freeCodeCamp untuk menambahkan autentikasi pengenalan wajah ke aplikasi React.
Lihat TutorialPelajari pola autentikasi modern untuk aplikasi web dengan pengenalan wajah.
Lihat TutorialPanduan mendalam tentang implementasi FACEIO dan praktik terbaik.
Lihat TutorialBuat alur login pengenalan wajah dengan JavaScript biasa tanpa framework.
Lihat TutorialBuat sistem pemantauan kehadiran dengan pengenalan wajah FACEIO.
Lihat TutorialBagikan tutorial implementasi FACEIO kepada komunitas pengembang.
Hubungi Kami