Widget mengautentikasi; backend menentukan akses
FACEIO menjalankan alur autentikasi di browser, tetapi JavaScript tidak boleh menentukan akses. Backend harus memetakan Facial ID yang dikembalikan ke akun yang diharapkan, memvalidasi status akun dan konteks permintaan, lalu menentukan akses yang diberikan.
SDK fio.js menangani pengambilan kamera, pemeriksaan liveness, dan autentikasi wajah di browser. Hasilnya dikembalikan ke frontend, tetapi bukan keputusan otorisasi akhir. Backend harus menerapkan aturan akun, sesi, dan akses.
Checklist ini membahas keputusan API dan keamanan untuk autentikasi wajah pada aplikasi web. Untuk menerapkan antarmuka, baca panduan integrasi. Untuk memahami cakupan produk, lihat halaman API autentikasi wajah.
Checklist autentikasi di server
Sebelum menerbitkan sesi, terapkan pemeriksaan berikut di server:
- Jangan letakkan API key privat di frontend, paket aplikasi seluler, atau repositori publik. Browser menggunakan App ID publik; API key tetap berada di server.
- Gunakan
CHECKFACIALIDdari backend saat Anda perlu memastikan bahwa Facial ID masih terdaftar. Endpoint ini tidak mengautentikasi callback browser tertentu. - Ikat hasil ke akun, tenant, dan konteks yang diharapkan. Jangan jadikan ID pengguna dari klien sebagai sumber kebenaran.
- Gunakan konfirmasi PIN jika kebijakan Anda memerlukan faktor tambahan. Lihat Always Ask for PIN dan SETFACIALIDPINCODE untuk konfigurasi kebijakan dan pengelolaan backend.
- Catat peristiwa autentikasi yang berhasil dan gagal dengan konteks yang diperlukan untuk peninjauan, tanpa menyimpan media verifikasi, tangkapan wajah, atau hash biometrik.
- Tentukan aturan percobaan ulang, akses alternatif, penguncian, dan tinjauan manual untuk pemeriksaan yang gagal.
- Batasi percobaan per IP dan Facial ID untuk mengurangi pengambilan berulang dan penyalahgunaan otomatis.
Pengikatan sesi dan penerbitan token
Setelah memvalidasi status akun dan konteks permintaan, backend dapat menerbitkan sesi. Ikat sesi ke akun yang dipetakan dari Facial ID yang dikembalikan, bukan ke pengenal akun dari browser:
Ikat sesi ke Facial ID
Cari akun yang dipetakan ke Facial ID yang dikembalikan. Jangan jadikan ID pengguna dari browser sebagai sumber kebenaran.
Token berumur pendek
Terbitkan token sesi berumur pendek. Untuk tindakan yang memerlukan keamanan tambahan, minta autentikasi ulang dengan wajah atau metode alternatif, bukan mengandalkan sesi berumur panjang.
Jejak audit
Catat waktu, Facial ID, App ID, dan hasil. Riwayat ini membantu meninjau akses akun dan kasus dukungan tanpa menyimpan media verifikasi.
Kesalahan integrasi yang umum
Memercayai status klien
Jangan biarkan callback frontend yang berhasil memilih akun atau memberikan akses sendiri. Petakan Facial ID di backend dan terapkan aturan sesi, tenant, dan otorisasi Anda.
Tidak mengikat sesi
Hasil autentikasi yang berhasil tetap harus dipetakan ke akun dan tindakan yang diminta. Ikat sesi di backend, bukan menerima pengenal akun dari browser.
Tidak mencatat metrik operasional
Pantau pendaftaran yang selesai, autentikasi, kegagalan kamera, percobaan ulang, dan eskalasi dukungan. Metrik ini membantu membedakan masalah deployment dari masalah produk.
Mengekspos API key
API key adalah rahasia server. Jika muncul di frontend, repositori publik, atau paket aplikasi seluler, segera lakukan rotasi di FACEIO Console.
Referensi integrasi API
Gunakan referensi FACEIO ini untuk menyiapkan fio.js, mengelola Facial IDs dan webhooks, melindungi API key, dan menyiapkan alur akun untuk produksi.
Pertanyaan umum
Bagaimana server harus menangani hasil autentikasi dari klien?
Browser berada di bawah kendali pengguna. Perlakukan hasil fio.js sebagai input, petakan Facial ID ke akun yang diharapkan di backend, validasi akun dan konteks permintaan, lalu tentukan apakah sesi dapat diterbitkan. Gunakan CHECKFACIALID untuk memastikan Facial ID masih terdaftar; endpoint ini tidak mengautentikasi callback browser tertentu.
Di mana API key FACEIO harus disimpan?
Simpan hanya di server, sebaiknya dalam environment variable atau secret manager. Jangan letakkan di frontend, paket aplikasi seluler, atau repositori publik. App ID publik dapat digunakan di browser; API key tidak.
Data apa yang perlu dicatat dari peristiwa autentikasi?
Catat waktu, Facial ID, hasil, App ID, dan konteks yang diperlukan untuk peninjauan. Jangan catat media verifikasi, tangkapan wajah, atau hash biometrik. Baca panduan keamanan dan privasi.
Apa perbedaan checklist API dan checklist peluncuran?
Checklist peluncuran mencakup UX, persetujuan, privasi, dan tahap deployment. Checklist API ini berfokus pada pemeriksaan akun di server, pengikatan sesi, API key, dan keputusan setelah autentikasi.
Panduan terkait
Siapkan integrasi API yang aman
Untuk autentikasi akun, gunakan alur SDK FACEIO, simpan API key privat di backend, petakan Facial IDs ke akun Anda, dan terapkan kontrol sesi di server. Untuk membandingkan dua gambar wajah tanpa pendaftaran, lihat API verifikasi wajah online.