تجاوز إلى المحتوى الرئيسي
Didit تجمع 7.5 مليون دولار لبناء البنية التحتية للهوية والاحتيال
Didit
العودة إلى المدونة
المدونة · 7 مارس 2026

ترحيل أنظمة التحقق من الهوية القديمة باستخدام نمط Strangler Fig ومنصة Didit (AR)

تحديث أنظمة التحقق من الهوية القديمة قد يكون مهمة شاقة. يستكشف هذا المنشور كيفية استخدام نمط Strangler Fig في Java/Spring Boot للترحيل التدريجي إلى واجهة برمجة تطبيقات Didit المتقدمة، مما يقلل المخاطر ويضمن انتقالًا سلسًا.

بواسطة Diditتحديث
migrating-legacy-identity-verification-with-strangler-fig-didit.png

استراتيجية الترحيل التدريجي يسمح نمط Strangler Fig بالترحيل الجزئي، حيث يتم بناء وظائف جديدة جنبًا إلى جنب مع النظام القديم، ليحل تدريجيًا محل المكونات القديمة دون عمليات إعادة كتابة شاملة ومُعطِلة.

تقليل المخاطر ووقت التوقف من خلال عزل الميزات الجديدة وتوجيه حركة المرور بشكل انتقائي، يمكن للمؤسسات تقليل مخاطر فشل النظام والحفاظ على توفر الخدمة المستمر أثناء الانتقال.

الاستفادة من واجهات برمجة التطبيقات الحديثة يتيح التكامل مع واجهة برمجة تطبيقات Didit الوصول إلى قدرات التحقق من الهوية المدعومة بالذكاء الاصطناعي، مما يوفر اكتشافًا فائقًا للاحتيال والامتثال وتجربة مستخدم أفضل مقارنة بالأنظمة القديمة.

نهج Didit المعياري والموجه للمطورين توفر منصة Didit بنية معيارية تعتمد على واجهة برمجة التطبيقات مع KYC الأساسي المجاني، مما يجعلها مثالية للتبني التدريجي والتكامل السلس في تطبيقات Spring Boot الحالية.

تحدي أنظمة التحقق من الهوية القديمة

تعتمد العديد من المؤسسات على أنظمة التحقق من الهوية (IDV) القديمة التي يصعب صيانتها، ومكلفة في التوسع، وغالبًا ما تفتقر إلى قدرات الكشف عن الاحتيال المتقدمة للحلول الحديثة. إن فكرة التجديد الشامل يمكن أن تكون مشلولة، مما يؤدي إلى الركود وزيادة المخاطر. قد تواجه هذه الأنظمة القديمة صعوبة في تلبية متطلبات الامتثال الجديدة، أو توفر تجارب مستخدم سيئة، أو تكون غير قادرة على اكتشاف الاحتيال المعقد بالهوية المزيفة والاصطناعية. إن الترحيل التقليدي «الانفجار الكبير»، حيث يتم استبدال نظام بأكمله دفعة واحدة، محفوف بالمخاطر، ووقت التوقف المحتمل، وتكاليف التطوير الكبيرة. وهنا تكمن قيمة النهج التدريجي الأكثر استراتيجية.

تقديم نمط Strangler Fig لترحيل التحقق من الهوية

يوفر نمط Strangler Fig، الذي صاغه مارتن فاولر، حلاً أنيقًا لترحيل نظام قديم تدريجيًا عن طريق بناء وظائف جديدة حول محيطه، ليقوم في النهاية «بخنق» النظام القديم حتى يمكن التخلص منه. بالنسبة للتحقق من الهوية، يعني هذا استبدال وظائف التحقق من الهوية المحددة باستدعاءات إلى واجهة برمجة تطبيقات حديثة مثل Didit، بينما يظل باقي التطبيق القديم دون تغيير في البداية. هذا النمط مناسب بشكل خاص لتطبيقات Java/Spring Boot، مما يسمح للمطورين بتقديم خدمات واستدعاءات واجهة برمجة تطبيقات جديدة بشكل تدريجي.

تتضمن الفكرة الأساسية وضع واجهة أو بوابة واجهة برمجة تطبيقات أمام النظام القديم. يتم توجيه الطلبات الجديدة عبر هذه البوابة، التي تقرر ما إذا كانت ستتعامل معها باستخدام النظام الجديد (Didit) أو تمريرها إلى النظام القديم. بمرور الوقت، يتم ترحيل المزيد والمزيد من الوظائف إلى النظام الجديد، ويتم إيقاف تشغيل المكونات القديمة ببطء. يقلل هذا النهج من المخاطر، ويسمح بالتسليم المستمر، ويوفر قيمة فورية من قدرات النظام الجديد.

تطبيق Strangler Fig مع Spring Boot و Didit

دعنا نفكر في سيناريو عملي في تطبيق Spring Boot. تخيل أن لديك خدمة قديمة مسؤولة عن معالجة مستندات الهوية وفحوصات الحيوية. تريد استبدال هذا بميزات التحقق من الهوية المتقدمة والحيوية السلبية والنشطة من Didit. يمكنك تقديم خدمة Spring Boot جديدة، أو مكون داخل خدمتك الحالية، يعمل كـ «الخانق».

الخطوة 1: إنشاء طبقة وكيل/واجهة

قم بتطوير مكون Spring جديد يعترض المكالمات المخصصة للتحقق من الهوية. سيحتوي هذا المكون على منطق لتحديد ما إذا كنت ستستخدم النظام القديم أم Didit. على سبيل المثال، إذا كنت تقوم بترحيل تسجيلات المستخدمين الجدد فقط، فيمكنك توجيهها إلى Didit، بينما قد تظل عمليات إعادة التحقق للمستخدمين الحاليين تمر عبر النظام القديم في البداية.


@Service
public class IdentityVerificationGateway {

    private final DiditApiClient diditApiClient;
    private final LegacyIdvService legacyIdvService;

    public IdentityVerificationGateway(DiditApiClient diditApiClient, LegacyIdvService legacyIdvService) {
        this.diditApiClient = diditApiClient;
        this.legacyIdvService = legacyIdvService;
    }

    public VerificationResult verifyIdentity(User user) {
        // Logic to decide whether to use Didit or legacy
        if (user.isNewUser() || featureFlags.isDiditEnabledFor(user.getRegion())) {
            // Call Didit API for ID Verification and Liveness
            return diditApiClient.performVerification(user);
        } else {
            // Fallback to legacy system
            return legacyIdvService.performVerification(user);
        }
    }
}

الخطوة 2: دمج واجهة برمجة تطبيقات Didit

داخل DiditApiClient، ستقوم بإجراء استدعاءات لنقاط نهاية واجهة برمجة تطبيقات Didit القوية. تعني بنية Didit المعيارية أنه يمكنك اختيار الأصول الهوياتية الدقيقة التي تحتاجها. على سبيل المثال، لإجراء التحقق من الهوية والحيوية، ستبدأ عادةً جلسة ثم تعالج النتائج. واجهة برمجة تطبيقات Didit موجهة للمطورين حقًا، حيث تقدم واجهات برمجة تطبيقات نظيفة وبيئة اختبار فورية للتكامل السريع.


@Service
public class DiditApiClient {

    private final RestTemplate restTemplate;
    private final String diditApiKey;
    private final String diditApiUrl;

    public DiditApiClient(@Value("${didit.api.key}") String diditApiKey,
                          @Value("${didit.api.url}") String diditApiUrl) {
        this.restTemplate = new RestTemplate();
        this.diditApiKey = diditApiKey;
        this.diditApiUrl = diditApiUrl;
    }

    public VerificationResult performVerification(User user) {
        HttpHeaders headers = new HttpHeaders();
        headers.set("x-api-key", diditApiKey);
        headers.setContentType(MediaType.APPLICATION_JSON);

        // Example: Create a session for ID Verification and Liveness
        // The workflow_id would be configured in Didit's Business Console
        // for your desired sequence of checks.
        String workflowId = "your-didit-workflow-id"; 
        Map<String, String> requestBody = Map.of("workflow_id", workflowId, "vendor_data", user.getUserId());

        HttpEntity<Map<String, String>> request = new HttpEntity<>(requestBody, headers);

        ResponseEntity<DiditSessionResponse> response = restTemplate.postForEntity(
            diditApiUrl + "/v3/session/", request, DiditSessionResponse.class);

        // Handle the session URL, redirect user, and process webhooks for results
        // This simplified example assumes synchronous results for brevity.
        return new VerificationResult(response.getBody().getSessionId(), "PENDING");
    }
}

تذكر أن Didit تقدم أيضًا وحدة تحكم أعمال بدون تعليمات برمجية لتصميم مهام سير عمل منسقة معقدة، تجمع بين عناصر مثل التحقق من الهوية، والحيوية السلبية والنشطة، ومطابقة الوجه 1:1، وفحص مكافحة غسيل الأموال (AML)، وإثبات العنوان. يتيح لك هذا تحديد رحلة التحقق الخاصة بك مرة واحدة ثم تشغيلها عبر استدعاء واجهة برمجة تطبيقات بسيطة، مما يبسط تكامل Spring Boot الخاص بك.

الخطوة 3: التحول التدريجي لحركة المرور والمراقبة

بمجرد اكتمال تكامل Didit، يمكنك تحويل حركة المرور تدريجيًا. ابدأ بنسبة صغيرة من المستخدمين، أو قم باختبار A/B، أو قم بتمكينه لمجموعات محددة. راقب الأداء وتجربة المستخدم ودقة التحقق عن كثب. تجعل تحليلات Didit الشاملة وإمكانيات الويب هوك عملية المراقبة هذه فعالة، مما يوفر تحديثات في الوقت الفعلي مع تقدم المستخدمين في عملية التحقق. مع تزايد الثقة، يمكنك زيادة حركة المرور الموجهة إلى Didit، وفي النهاية إلغاء المكونات القديمة بالكامل.

كيف تساعد Didit

تتمتع Didit بموقع فريد لتسهيل عمليات الترحيل السلسة باستخدام نمط Strangler Fig. توفر منصة الهوية المدعومة بالذكاء الاصطناعي والموجهة للمطورين بنية معيارية تجعل دمج قدرات التحقق من الهوية المتقدمة أمرًا بسيطًا. مع Didit، يمكنك الوصول إلى مجموعة من الأدوات القوية:

  • التحقق من الهوية (OCR، MRZ، الباركود): استخراج البيانات بدقة من وثائق الهوية عالميًا.
  • الحيوية السلبية والنشطة: مكافحة التزييف العميق وهجمات التقديم باستخدام الكشف البيومتري المتقدم عن الحيوية.
  • مطابقة الوجه 1:1: التأكد من أن الشخص الذي يقدم الهوية هو صاحبها الشرعي.
  • فحص ومراقبة مكافحة غسيل الأموال (AML): البقاء متوافقًا مع اللوائح العالمية عن طريق الفحص مقابل قوائم العقوبات وقوائم الشخصيات السياسية البارزة (PEP).
  • إثبات العنوان: التحقق من العناوين السكنية بكفاءة.
  • تقدير العمر (يحافظ على الخصوصية): للامتثال في الصناعات المقيدة بالعمر دون المساس بالخصوصية.
  • التحقق من الهاتف والبريد الإلكتروني: تعزيز أمان الحساب وردع الاحتيال.

مزايا Didit واضحة: نقدم KYC الأساسي المجاني للبدء، وبنية معيارية حقًا تسمح لك بدمج ما تحتاجه فقط، ونهجًا مدعومًا بالذكاء الاصطناعي يوفر دقة متطورة ومنع الاحتيال. لا توجد رسوم إعداد لمنصتنا، ويضمن مبدأنا الموجه للمطورين واجهات برمجة تطبيقات نظيفة ووثائق شاملة للتكامل السريع، بما يتماشى تمامًا مع الطبيعة التدريجية لنمط Strangler Fig.

هل أنت مستعد للبدء؟

هل أنت مستعد لرؤية Didit عمليًا؟ احصل على عرض توضيحي مجاني اليوم.

ابدأ التحقق من الهويات مجانًا باستخدام طبقة Didit المجانية.

بنية تحتية للهوية والاحتيال.

واجهة برمجية واحدة لـ KYC و KYB ومراقبة المعاملات وفحص المحافظ. ادمجها في 5 دقائق.

اطلب من الذكاء الاصطناعي تلخيص هذه الصفحة
ترحيل التحقق من الهوية القديم: Strangler Fig و Didit.