Lewati ke konten utama
Didit Raih $7,5 Juta untuk Membangun Infrastruktur Identitas dan Fraud
Didit
Kembali ke blog
Blog · 7 Maret 2026

Middleware Express.js untuk Verifikasi Identitas Dinamis (ID)

Pelajari cara membangun middleware Express.js untuk mengimplementasikan keputusan verifikasi identitas dinamis menggunakan API Didit yang canggih.

Oleh DiditDiperbarui
expressjs-middleware-for-dynamic-identity-verification.png

Verifikasi Dinamis dengan Express.jsTerapkan middleware Express.js untuk mengatur keputusan verifikasi identitas real-time, menyesuaikan alur kerja berdasarkan konteks pengguna atau risiko transaksi menggunakan API Didit.

Manfaatkan Arsitektur Modular DiditPlatform identitas Didit yang terbuka dan modular memungkinkan pengembang dengan mudah mengintegrasikan pemeriksaan verifikasi spesifik seperti Verifikasi ID, Keaktifan, dan Penyaringan AML ke dalam middleware mereka.

Otomatiskan Kepercayaan dengan Solusi AI-NativeManfaatkan kemampuan AI-native Didit untuk pengambilan keputusan cerdas, mengurangi tinjauan manual, dan menyederhanakan proses kepatuhan untuk sistem yang lebih efisien dan aman.

Integrasi Tanpa Hambatan dan KYC Inti GratisDidit menawarkan pendekatan yang mengutamakan pengembang dengan API yang bersih, sandbox instan, dan KYC Inti Gratis, sehingga memudahkan pembangunan dan penerapan logika verifikasi canggih dalam aplikasi Express.js Anda.

Kebutuhan akan Verifikasi Identitas Dinamis

Dalam lanskap digital saat ini, proses verifikasi identitas statis tidak lagi memadai. Bisnis membutuhkan fleksibilitas untuk menyesuaikan persyaratan KYC (Know Your Customer) dan AML (Anti-Money Laundering) mereka berdasarkan berbagai faktor, seperti lokasi pengguna, nilai transaksi, profil risiko, atau bahkan layanan spesifik yang diakses. Misalnya, transaksi bernilai rendah mungkin hanya memerlukan verifikasi email dasar, sementara operasi keuangan bernilai tinggi menuntut pemindaian dokumen ID penuh, pemeriksaan keaktifan, dan penyaringan AML. Membangun middleware Express.js menyediakan cara yang elegan dan efisien untuk menyematkan kemampuan pengambilan keputusan dinamis ini langsung ke dalam siklus permintaan-respons aplikasi Anda.

Pendekatan dinamis ini memungkinkan pengalaman pengguna yang lebih sadar gesekan. Daripada membuat setiap pengguna menjalani proses verifikasi yang paling ketat, Anda dapat menyesuaikan perjalanan, meminta informasi lebih lanjut hanya jika diperlukan. Ini tidak hanya meningkatkan tingkat konversi tetapi juga meningkatkan keamanan dengan memfokuskan sumber daya di tempat yang paling dibutuhkan. Menerapkan ini membutuhkan platform verifikasi identitas yang kuat, dan Didit, dengan desain modular dan API-first-nya, sangat cocok untuk integrasi semacam itu.

Merancang Middleware Verifikasi Express.js Anda

Fungsi middleware Express.js memiliki akses ke objek permintaan dan respons, serta fungsi middleware berikutnya dalam siklus permintaan-respons aplikasi. Ini menjadikannya tempat yang ideal untuk mencegat permintaan, melakukan pemeriksaan identitas, dan memodifikasi alur berdasarkan hasilnya. Berikut adalah garis besar konseptual bagaimana middleware semacam itu dapat bekerja:

  1. Cegat Permintaan: Middleware menangkap permintaan masuk ke rute yang dilindungi (misalnya, rute untuk memulai transaksi bernilai tinggi).
  2. Ekstrak Konteks: Ini mengekstrak informasi yang relevan dari permintaan, seperti ID pengguna, alamat IP, tindakan yang diminta, atau jumlah transaksi.
  3. Evaluasi Risiko/Kebijakan: Berdasarkan konteks ini, middleware menentukan tingkat verifikasi yang diperlukan. Ini bisa melibatkan pemeriksaan profil pengguna internal, skor risiko real-time, atau aturan bisnis yang telah ditentukan.
  4. Mulai Sesi Didit: Jika verifikasi diperlukan, middleware membuat panggilan API ke Didit untuk membuat sesi verifikasi baru. Alat didit_create_session Didit sangat cocok untuk ini, memungkinkan Anda menentukan workflow_id yang sesuai dengan langkah-langkah verifikasi yang diinginkan (misalnya, Verifikasi ID, Keaktifan Pasif & Aktif, Penyaringan AML).
  5. Alihkan atau Sematkan: Didit mengembalikan URL verifikasi unik. Middleware kemudian dapat mengalihkan pengguna ke URL ini, atau, untuk pengalaman yang lebih terintegrasi, menyematkan alur verifikasi Didit dalam iframe di situs Anda.
  6. Tangani Panggilan Balik Webhook: Platform Didit mengirimkan pembaruan real-time melalui webhook saat pengguna melalui verifikasi dan ketika keputusan akhir dibuat. Backend Anda membutuhkan titik akhir terpisah untuk menerima dan memproses webhook ini, memperbarui status verifikasi pengguna di basis data Anda.
  7. Izinkan atau Tolak Akses: Setelah webhook mengkonfirmasi verifikasi berhasil, pengguna dapat diberikan akses ke sumber daya yang dilindungi. Jika verifikasi gagal, akses ditolak.

Orkestrasi dinamis ini memungkinkan Anda untuk mendefinisikan perjalanan verifikasi yang kompleks tanpa mengkodekan setiap keputusan ke dalam logika aplikasi Anda. Arsitektur modular Didit berarti Anda dapat dengan mudah menukar atau menambahkan langkah-langkah verifikasi baru (misalnya, Bukti Alamat atau Estimasi Usia) ke alur kerja Anda di Konsol Bisnis tanpa mengubah kode aplikasi Anda.

Implementasi Praktis dengan API Didit

Mari kita pertimbangkan contoh sederhana middleware Express.js yang memulai sesi verifikasi Didit. Pertama, pastikan Anda memiliki kunci API dari Didit. Anda akan menggunakannya untuk mengautentikasi permintaan Anda.


const express = require('express');
const axios = require('axios');
const app = express();

// Ganti dengan Kunci API Didit dan ID Alur Kerja Anda yang sebenarnya
const DIDIT_API_KEY = 'YOUR_DIDIT_API_KEY';
const HIGH_RISK_WORKFLOW_ID = 'YOUR_HIGH_RISK_WORKFLOW_ID'; // misal, ID + Liveness + AML
const LOW_RISK_WORKFLOW_ID = 'YOUR_LOW_RISK_WORKFLOW_ID';   // misal, Email + Telepon

// Fungsi tiruan untuk menentukan risiko berdasarkan data pengguna
const assessRisk = (userId, transactionAmount) => {
    // Dalam aplikasi nyata, ini akan melibatkan logika yang lebih canggih
    if (transactionAmount > 1000 || userId === 'high_risk_user_id') {
        return 'HIGH';
    }
    return 'LOW';
};

const dynamicVerificationMiddleware = async (req, res, next) => {
    const userId = req.user.id; // Mengasumsikan ID pengguna tersedia dari sesi/auth
    const transactionAmount = req.body.amount; // Mengasumsikan jumlah ada di badan permintaan

    const riskLevel = assessRisk(userId, transactionAmount);
    let workflowIdToUse;

    if (riskLevel === 'HIGH') {
        console.log(`Pengguna ${userId} diidentifikasi sebagai risiko TINGGI. Memulai verifikasi risiko tinggi.`);
        workflowIdToUse = HIGH_RISK_WORKFLOW_ID;
    } else {
        console.log(`Pengguna ${userId} diidentifikasi sebagai risiko RENDAH. Memulai verifikasi risiko rendah.`);
        workflowIdToUse = LOW_RISK_WORKFLOW_ID;
    }

    try {
        const response = await axios.post(
            'https://verification.didit.me/v3/session/',
            {
                workflow_id: workflowIdToUse,
                vendor_data: userId, // Menghubungkan sesi ke ID pengguna internal Anda
                callback: 'https://your-app.com/didit/webhook-handler' // Titik akhir webhook Anda
            },
            {
                headers: {
                    'x-api-key': DIDIT_API_KEY,
                    'Content-Type': 'application/json'
                }
            }
        );

        const verificationUrl = response.data.url;
        console.log(`URL Verifikasi untuk pengguna ${userId}: ${verificationUrl}`);

        // Mengalihkan pengguna ke halaman verifikasi yang di-host Didit
        return res.redirect(verificationUrl);

        // Atau, kirim URL kembali ke klien untuk integrasi frontend (misalnya, iframe)
        // return res.status(402).json({ message: 'Verifikasi diperlukan', verificationUrl });

    } catch (error) {
        console.error('Error membuat sesi Didit:', error.response ? error.response.data : error.message);
        return res.status(500).send('Layanan verifikasi tidak tersedia.');
    }
};

// Contoh rute yang dilindungi
app.post('/api/perform-transaction', dynamicVerificationMiddleware, (req, res) => {
    // Kode ini hanya akan dieksekusi jika dynamicVerificationMiddleware mengizinkannya (misalnya, setelah webhook mengkonfirmasi verifikasi)
    res.send('Transaksi berhasil!');
});

app.listen(3000, () => console.log('Server berjalan di port 3000'));

Contoh ini menunjukkan bagaimana memilih alur kerja Didit secara dinamis berdasarkan penilaian risiko dan memulai sesi. Ingat, keputusan sebenarnya untuk melanjutkan transaksi harus dibuat setelah webhook Didit mengkonfirmasi hasil verifikasi.

Bagaimana Didit Membantu

Didit memiliki posisi unik untuk memberdayakan pengembang membangun solusi verifikasi identitas dinamis. Platform AI-native, developer-first kami menyediakan blok bangunan yang Anda butuhkan:

  • Identitas Modular: Arsitektur Didit yang terbuka dan modular memungkinkan Anda menyusun alur kerja verifikasi dengan pemeriksaan spesifik seperti Verifikasi ID (OCR, MRZ, kode batang), Keaktifan Pasif & Aktif, Pencocokan Wajah 1:1, Penyaringan & Pemantauan AML, Bukti Alamat, dan Estimasi Usia. Anda menggabungkan ini menjadi alur kerja kustom di Konsol Bisnis tanpa kode kami, masing-masing dengan workflow_id unik yang dapat dipanggil secara dinamis oleh middleware Anda.
  • Alur Kerja Terorkestrasi: Tentukan perjalanan verifikasi yang kompleks dengan logika kondisional dan beberapa langkah, semuanya dikelola oleh Didit, mengurangi beban pada aplikasi Anda.
  • Pengalaman yang Mengutamakan Pengembang: Dengan API yang bersih, sandbox instan, dan dokumentasi komprehensif, mengintegrasikan Didit ke dalam aplikasi Express.js Anda sangat mudah. Anda dapat membuat tautan verifikasi melalui panggilan API sederhana, seperti yang ditunjukkan di atas.
  • Otomatisasi daripada Tinjauan Manual: Kemampuan AI-native Didit mengotomatiskan pengambilan keputusan untuk persentase verifikasi yang tinggi, secara signifikan mengurangi kebutuhan tinjauan manual dan mempercepat proses orientasi.
  • KYC Inti Gratis: Mulai dengan fitur verifikasi identitas penting tanpa biaya di muka, memungkinkan Anda menguji dan menskalakan strategi verifikasi dinamis Anda secara efektif.

Baik Anda perlu memverifikasi usia untuk aplikasi, memastikan kepatuhan untuk layanan keuangan, atau mencegah penipuan dengan biometrik canggih, rangkaian produk Didit yang komprehensif dan opsi integrasi yang fleksibel menjadikannya mitra ideal untuk membangun verifikasi identitas yang dinamis dan kuat ke dalam aplikasi Express.js Anda.

Siap untuk Memulai?

Siap melihat Didit beraksi? Dapatkan demo gratis hari ini.

Mulai verifikasi identitas secara gratis dengan tingkat gratis Didit.

Infrastruktur untuk identitas dan fraud.

Satu API untuk KYC, KYB, Transaction Monitoring, dan Wallet Screening. Integrasi dalam 5 menit.

Minta AI untuk merangkum halaman ini
Middleware Express.js untuk Verifikasi Identitas Dinamis.