Zum Hauptinhalt springen
Didit erhält 7,5 Mio. $ für die Infrastruktur für Identität und Betrug
Didit
Zurück zum Blog
Blog · 7. März 2026

Erweiterbare Identitätsprüfungen in Go mit Didits Bausteinen (DE)

Entdecken Sie, wie Sie in Go eine flexible Plugin-Architektur für benutzerdefinierte Identitätsprüfungen entwerfen, indem Sie Didits modulare Identitäts-Primitive nutzen.

Von DiditAktualisiert
extensible-identity-checks-in-go-with-didits-primitives.png

Modulares Design für AgilitätDer Aufbau einer erweiterbaren Plugin-Architektur in Go ermöglicht es Unternehmen, sich schnell an sich ändernde Compliance-Vorschriften und neue Betrugsvektoren anzupassen, ohne ihr gesamtes Identitätsprüfungssystem zu überarbeiten.

Nutzen Sie die Stärken von GoGo's starke Typisierung, Leistung und Parallelitätsfunktionen machen es zu einer idealen Sprache für die Entwicklung robuster und skalierbarer Identitätsverifizierungsdienste, die einen hohen Durchsatz bewältigen können.

Kompatibilität mit Didit-PrimitivenDie Integration von Didits AI-nativen Identitäts-Primitiven, wie ID-Verifizierung, passiver und aktiver Lebenderkennung und AML-Screening, bietet leistungsstarke, vorgefertigte Komponenten, die in benutzerdefinierten Go-Plugins orchestriert werden können.

Didits entwicklerorientierter AnsatzDidits saubere APIs, die sofortige Sandbox und die modulare Architektur eignen sich perfekt für Entwickler, die erweiterbare Systeme aufbauen, und bieten kostenloses Core-KYC und keine Einrichtungsgebühren, um die Entwicklung zu beschleunigen.

Die Notwendigkeit einer erweiterbaren Identitätsprüfung

In der sich schnell verändernden digitalen Landschaft von heute ist die Identitätsprüfung (IDV) kein statischer Prozess mehr. Vorschriften entwickeln sich weiter, neue Betrugstechniken tauchen auf und Geschäftsanforderungen ändern sich. Ein starres, monolithisches IDV-System wird schnell zu einem Engpass, der Innovationen behindert und Compliance-Risiken erhöht. Deshalb ist eine erweiterbare Plugin-Architektur nicht nur ein Luxus, sondern eine Notwendigkeit, insbesondere für Entwickler, die mit leistungsstarken Sprachen wie Go arbeiten.

Eine erweiterbare Architektur ermöglicht es Unternehmen, Identitätsprüfungen dynamisch hinzuzufügen, zu entfernen oder zu ändern, ohne den gesamten Dienst neu zu deployen. Diese Agilität ist entscheidend für die Anpassung an regionalspezifische KYC-Anforderungen (Know Your Customer), die Integration modernster Betrugserkennungsmechanismen oder das Experimentieren mit neuen Benutzer-Onboarding-Abläufen. Zum Beispiel könnte ein Unternehmen zunächst eine grundlegende ID-Verifizierung und Lebenderkennung benötigen. Später könnten sie eine Altersschätzung für bestimmte Produkte hinzufügen oder ein AML-Screening für Finanztransaktionen integrieren müssen. Ein Plugin-basiertes System bewältigt diese Ergänzungen nahtlos.

Entwurf einer Plugin-Architektur in Go

Go's Schnittstellen-getriebenes Design und starke Typisierung machen es zu einer ausgezeichneten Wahl für den Aufbau robuster Plugin-Systeme. Die Kernidee ist, eine gemeinsame Schnittstelle zu definieren, die alle Identitätsprüfungs-"Plugins" implementieren müssen. Diese Schnittstelle fungiert als Vertrag und stellt sicher, dass jede neue Prüfung nahtlos in den bestehenden Workflow integriert werden kann.

Definition der Identitätsprüfungs-Schnittstelle

Betrachten wir eine einfache Schnittstelle für eine Identitätsprüfung:

package main

type IdentityCheckResult struct {
    Passed  bool
    Details string
}

type IdentityChecker interface {
    Name() string
    Execute(data map[string]interface{}) (IdentityCheckResult, error)
}

Hier definiert IdentityChecker zwei Methoden: Name() zur Identifizierung des Plugins und Execute() zur Durchführung der eigentlichen Prüfung, wobei generische Eingabedaten akzeptiert und ein Ergebnis zurückgegeben werden. Diese Abstraktion ermöglicht vielfältige Prüfungen, von der Dokumentenverifizierung bis zur biometrischen Analyse.

Implementierung benutzerdefinierter Prüfungen mit Didits Primitiven

Sehen wir uns nun an, wie wir spezifische Identitätsprüfungen mithilfe von Didits leistungsstarken Primitiven innerhalb dieses Plugin-Frameworks implementieren können. Didits modulare Architektur, saubere APIs und AI-native Funktionen machen die Integration dieser fortschrittlichen Dienste unkompliziert.

Beispiel: Didit ID-Verifizierungs-Plugin

Für die dokumentenbasierte Identitätsprüfung können wir ein Plugin erstellen, das Didits ID-Verifizierungsprodukt nutzt, welches OCR-, MRZ- und Barcode-Scanning in über 220 Ländern umfasst. Dieses Plugin würde Dokumentbilder und Daten an Didits API senden und die Antwort verarbeiten.

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

type DiditIDVCheck struct{}

func (d *DiditIDVCheck) Name() string {
    return "DiditIDVerification"
}

func (d *DiditIDVCheck) Execute(data map[string]interface{}) (IdentityCheckResult, error) {
    documentImage, ok := data["documentImage"].(string)
    if !ok {
        return IdentityCheckResult{Passed: false, Details: "Missing document image"}, nil
    }

    // In einer realen Anwendung würden Sie das Bild an Didits ID-Verifizierungs-API senden.
    // Für dieses Beispiel simulieren wir einen Aufruf.
    // Dokumentation: https://docs.didit.me/core-technology/id-verification

    // Simulieren des API-Aufrufs zur Didit ID-Verifizierung
    // Ersetzen Sie dies durch einen tatsächlichen API-Aufruf und Fehlerbehandlung
    fmt.Printf("Calling Didit ID Verification for image: %s...\n", documentImage[:20]) // Für die Anzeige kürzen
    
    // Nehmen Sie für die Demonstration eine erfolgreiche Antwort an
    if documentImage != "invalid_id_image" {
        return IdentityCheckResult{Passed: true, Details: "ID document verified by Didit."}, nil
    } else {
        return IdentityCheckResult{Passed: false, Details: "ID document verification failed by Didit." + " Invalid image provided."},
            fmt.Errorf("Didit ID Verification failed")
    }
}

Beispiel: Didit Lebenderkennungs-Plugin

Um Deepfakes und Präsentationsangriffe zu bekämpfen, ist eine Lebenderkennung unerlässlich. Didit bietet sowohl passive als auch aktive Lebenderkennung. Ein Plugin könnte dies integrieren, indem es ein kurzes Video oder eine Reihe von Bildern verarbeitet.

package main

type DiditLivenessCheck struct{}

func (d *DiditLivenessCheck) Name() string {
    return "DiditLivenessDetection"
}

func (d *DiditLivenessCheck) Execute(data map[string]interface{}) (IdentityCheckResult, error) {
    livenessVideo, ok := data["livenessVideo"].(string)
    if !ok {
        return IdentityCheckResult{Passed: false, Details: "Missing liveness video"}, nil
    }

    // Simulieren des API-Aufrufs zur Didit Lebenderkennung
    // Ersetzen Sie dies durch einen tatsächlichen API-Aufruf und Fehlerbehandlung
    fmt.Printf("Calling Didit Liveness Detection for video: %s...\n", livenessVideo[:20])

    if livenessVideo != "deepfake_video" {
        return IdentityCheckResult{Passed: true, Details: "Liveness detected by Didit."}, nil
    } else {
        return IdentityCheckResult{Passed: false, Details: "Liveness detection failed by Didit." + " Deepfake detected."},
            fmt.Errorf("Didit Liveness Detection failed")
    }
}

Orchestrierung von Workflows mit Plugins

Sobald Sie Ihre Plugins haben, benötigen Sie einen Mechanismus, um sie in einem kohärenten Workflow zu orchestrieren. Didits Orchestrierte Workflows bieten einen visuellen No-Code-Builder dafür, aber wenn Sie einen benutzerdefinierten Go-Dienst erstellen, können Sie diese Logik programmatisch verwalten.

package main

import "fmt"

// Ein einfacher Orchestrator
type Workflow struct {
    Checks []IdentityChecker
}

func (w *Workflow) AddCheck(checker IdentityChecker) {
    w.Checks = append(w.Checks, checker)
}

func (w *Workflow) Run(userData map[string]interface{}) ([]IdentityCheckResult, error) {
    var results []IdentityCheckResult
    for _, check := range w.Checks {
        fmt.Printf("\nRunning %s check...\n", check.Name())
        res, err := check.Execute(userData)
        results = append(results, res)
        if err != nil || !res.Passed {
            fmt.Printf("Check %s failed: %s\n", check.Name(), res.Details)
            return results, fmt.Errorf("workflow failed at %s: %w", check.Name(), err)
        }
        fmt.Printf("Check %s passed: %s\n", check.Name(), res.Details)
    }
    return results, nil
}

func main() {
    workflow := &Workflow{}
    workflow.AddCheck(&DiditIDVCheck{})
    workflow.AddCheck(&DiditLivenessCheck{})

    // Beispiel Benutzerdaten
    userData := map[string]interface{}{
        "documentImage": "valid_passport_image_base64",
        "livenessVideo": "valid_liveness_video_base64",
        "name":          "Jane Doe",
    }

    fmt.Println("--- Running successful workflow ---")
    results, err := workflow.Run(userData)
    if err != nil {
        fmt.Printf("Workflow completed with errors: %v\n", err)
    } else {
        fmt.Println("Workflow completed successfully!")
    }
    for _, r := range results {
        fmt.Printf("- %s: Passed = %t, Details = %s\n", r.Name, r.Passed, r.Details)
    }

    // Beispiel eines fehlschlagenden Workflows
    fmt.Println("\n--- Running failing workflow (invalid ID) ---")
    failingUserData := map[string]interface{}{
        "documentImage": "invalid_id_image",
        "livenessVideo": "valid_liveness_video_base64",
        "name":          "John Smith",
    }
    failingResults, err := workflow.Run(failingUserData)
    if err != nil {
        fmt.Printf("Workflow completed with errors: %v\n", err)
    } else {
        fmt.Println("Workflow completed successfully!")
    }
    for _, r := range failingResults {
        fmt.Printf("- %s: Passed = %t, Details = %s\n", r.Name, r.Passed, r.Details)
    }
}

Dieser einfache Orchestrator führt Prüfungen sequenziell aus. In einem realen Szenario könnten Sie bedingte Logik, parallele Ausführung oder Wiederholungsversuche hinzufügen, die die Funktionen von Didits No-Code-Workflow-Builder widerspiegeln.

Erweiterte Überlegungen zu Go-Plugin-Architekturen

Beim Aufbau einer produktionsreifen Plugin-Architektur in Go sollten Sie die folgenden Aspekte berücksichtigen:

  • Fehlerbehandlung: Implementieren Sie eine robuste Fehlerbehandlung und Protokollierung für jedes Plugin.
  • Konfiguration: Ermöglichen Sie die dynamische Konfiguration von Plugins (z. B. API-Schlüssel, Schwellenwerte).
  • Plugin-Laden: Für echte Erweiterbarkeit ohne Neukompilierung können Sie das Go-Paket plugin (obwohl es Plattformbeschränkungen hat) oder externe Prozesse/gRPC für die Interprozesskommunikation untersuchen.
  • Sicherheit: Stellen Sie sicher, dass Plugins gesandboxed oder ordnungsgemäß überprüft werden, um die Ausführung von bösartigem Code zu verhindern.
  • Datenfluss: Definieren Sie klare Datenverträge für Eingaben und Ausgaben jedes Plugins.
  • White-Labeling: Wenn Sie einen benutzerorientierten Workflow erstellen, denken Sie daran, dass Didit umfangreiche White-Labeling-Optionen bietet, mit denen Sie Farben, Schriftarten, Logos anpassen und sogar eine benutzerdefinierte Domain verwenden können, um ein nahtloses Markenerlebnis zu gewährleisten. Dies ist entscheidend, um das Vertrauen der Benutzer zu erhalten und die Abbruchraten während des Verifizierungsprozesses zu reduzieren.

Wie Didit hilft

Didit wurde von Grund auf für genau diese Art der modularen, erweiterbaren Integration entwickelt. Als KI-native, entwicklerorientierte Identitätsplattform bietet Didit die Bausteine – oder „Primitive“ –, die nahtlos in Ihre Go-Plugin-Architektur integriert werden können. Unsere modulare Architektur bedeutet, dass Sie genau die Verifizierungskomponenten auswählen können, die Sie benötigen, sei es ID-Verifizierung, passive und aktive Lebenderkennung, 1:1-Gesichtsabgleich, AML-Screening und -Überwachung, Adressnachweis oder Altersschätzung. Jede davon kann ein eigenständiges Plugin in Ihrem System sein.

Didit zeichnet sich dadurch aus, dass es kostenloses Core-KYC anbietet, sodass Sie mit den wichtigsten Identitätsprüfungen ohne Vorabkosten beginnen können. Unsere sauberen APIs und umfassende Dokumentation, zusammen mit einer sofortigen Sandbox, machen die Integration intuitiv und schnell. Durch die Nutzung von Didit lagern Sie die Komplexität der Pflege ausgefeilter KI-Modelle, globaler Dokumentendatenbanken und Compliance-Updates aus, sodass sich Ihr Go-Dienst auf die Orchestrierung und Geschäftslogik konzentrieren kann. Didits Pay-per-Successful-Check-Modell und das Fehlen von Einrichtungsgebühren passen zudem zu einer flexiblen, skalierbaren Architektur und stellen sicher, dass Sie nur für das bezahlen, was Sie nutzen.

Bereit zum Start?

Bereit, Didit in Aktion zu sehen? Holen Sie sich noch heute eine kostenlose Demo.

Beginnen Sie mit der kostenlosen Identitätsprüfung mit Didits kostenlosem Tarif.

Infrastruktur für Identität und Betrugsprävention.

Eine API für KYC, KYB, Transaktionsüberwachung und Wallet-Screening. In 5 Minuten integriert.

Lass dir diese Seite von einer KI zusammenfassen
Erweiterbare Identitätsprüfungen in Go mit Didits Primitiven