Concevoir un microservice gRPC performant en Go pour la consommation de webhooks Didit (FR)
Apprenez à construire un microservice gRPC robuste et performant en Go pour consommer les webhooks Didit. Ce guide couvre la vérification de signature, la gestion sécurisée des données d'identité en temps réel et une.

Consommation Sécurisée de WebhooksImplémenter une vérification de signature HMAC-SHA256 robuste est crucial pour authentifier les webhooks Didit entrants et protéger votre système contre les tentatives d'usurpation.
Traitement Haute Performance avec Go et gRPCExploitez les fonctionnalités de concurrence de Go et gRPC pour construire des microservices efficaces et à faible latence, capables de gérer de grands volumes d'événements de vérification d'identité en temps réel.
Architecture Orientée ÉvénementsConcevez votre consommateur de webhooks comme un microservice orienté événements pour découpler la logique de traitement, améliorer l'évolutivité et assurer la livraison fiable des mises à jour d'identité critiques.
Intégration Transparente avec DiditLa configuration flexible des webhooks de Didit, incluant le versionnement des charges utiles et la gestion des clés secrètes, rend l'intégration des résultats de vérification d'identité en temps réel simple et sécurisée.
L'importance des événements de vérification d'identité en temps réel
Dans l'économie numérique rapide d'aujourd'hui, la rétroaction en temps réel sur les résultats de vérification d'identité (IDV) n'est pas un luxe ; c'est une nécessité. Que vous intégriez de nouveaux utilisateurs, préveniez la fraude ou assuriez la conformité, un accès immédiat aux résultats de vérification permet une prise de décision instantanée et une expérience utilisateur supérieure. Les webhooks sont la colonne vertéale de cette communication en temps réel, agissant comme un mécanisme orienté événement où Didit notifie proactivement votre application des événements significatifs, tels qu'une vérification d'identité terminée, un échec de vérification de vivacité ou un statut de contrôle AML mis à jour.
S'appuyer sur l'interrogation d'une API pour les mises à jour peut introduire de la latence, consommer des ressources inutiles et être inefficace pour les scénarios à volume élevé. Les webhooks, en revanche, poussent les données vers votre point de terminaison spécifié dès qu'un événement se produit, garantissant que votre système est toujours synchronisé avec le dernier statut de vérification d'identité. Ceci est particulièrement critique pour les applications qui nécessitent des réponses rapides, telles que les services financiers ayant besoin de mises à jour instantanées de contrôle et de surveillance AML ou les marchés en ligne vérifiant l'identité des utilisateurs avec la vérification d'identité et la vivacité passive et active pour lutter contre la fraude.
Concevoir un microservice gRPC robuste pour la consommation de webhooks
La construction d'un consommateur de webhooks haute performance nécessite une attention particulière à la sécurité, à l'évolutivité et à la fiabilité. Go, avec son modèle de concurrence fort et ses excellentes caractéristiques de performance, est un langage idéal pour cette tâche. Coupler Go avec gRPC, un framework RPC universel open-source et haute performance, offre plusieurs avantages :
- Efficacité : gRPC utilise les Protocol Buffers pour la sérialisation, qui sont plus petits et plus rapides que JSON, réduisant la surcharge réseau.
- Performance : Construit sur HTTP/2, gRPC prend en charge le multiplexage, la compression d'en-têtes et le push serveur, ce qui entraîne une latence plus faible et un débit plus élevé.
- Typage Fort : Les Protocol Buffers imposent un schéma, assurant la cohérence des données et réduisant les erreurs d'exécution.
- Interopérabilité : Bien que nous nous concentrions sur Go, les clients et serveurs gRPC peuvent être implémentés dans une multitude de langages, facilitant la communication de microservices dans des environnements hétérogènes.
Pour consommer les webhooks Didit, votre microservice gRPC agira comme le serveur, exposant un point de terminaison que le système de webhook de Didit peut appeler. Bien que les webhooks utilisent généralement des requêtes HTTP/S POST, la communication interne au sein de votre architecture de microservices pourrait bénéficier de gRPC. Le point de terminaison externe sera toujours un point de terminaison HTTP/S qui reçoit le webhook, mais son traitement ultérieur peut être délégué à un service gRPC interne.
Implémentation de la vérification sécurisée de webhook en Go
La sécurité est primordiale lors de la consommation de webhooks. Vous devez vérifier que la requête entrante provient réellement de Didit et n'a pas été altérée. Didit fournit une clé secrète partagée pour la vérification de signature HMAC-SHA256. C'est une étape critique pour empêcher les acteurs malveillants d'injecter de faux résultats de vérification dans votre système.
Voici un aperçu conceptuel pour une consommation sécurisée de webhook en Go :
- Récupérer le secret du webhook : Obtenez votre
secret_shared_keydepuis la console Business de Didit ou via l'API Didit (GET /v3/webhook/). - Recevoir la requête de webhook : Votre point de terminaison HTTP/S recevra une requête POST de Didit. Le corps brut de la requête et l'en-tête
X-Signaturesont essentiels. - Vérifier la signature : Calculez la signature HMAC-SHA256 du corps brut de la requête en utilisant votre
secret_shared_key. Comparez cette signature calculée avec celle fournie dans l'en-têteX-Signature. Si elles ne correspondent pas, rejetez la requête immédiatement. - Valider l'horodatage : Les webhooks Didit incluent un horodatage. Validez que cet horodatage est récent (par exemple, dans les 5 minutes) pour atténuer les attaques par relecture.
- Analyser la charge utile : Une fois vérifiée, analysez la charge utile JSON, qui contiendra des informations détaillées sur la session de vérification d'identité, y compris le résultat de processus tels que la vérification d'identité, la vivacité passive et active, ou le contrôle AML.
- Traiter l'événement : En fonction du type et du statut de l'événement, déclenchez les actions en aval appropriées au sein de votre application.
Les webhooks de Didit prennent en charge différentes versions (v1, v2, v3), la v3 étant le choix recommandé pour sa structure de données complète. Vous pouvez configurer votre webhook_version et webhook_url préférées à l'aide de l'API Didit (PATCH /v3/webhook/) ou via la console Business. Vous pouvez également renouveler votre secret_shared_key si nécessaire pour une sécurité renforcée.
Considérations sur l'évolutivité et la rétention des données
À mesure que votre base d'utilisateurs augmente, le volume de webhooks augmentera également. Votre microservice gRPC Go doit être conçu pour l'évolutivité. Cela peut impliquer :
- Traitement asynchrone : Au lieu de traiter le webhook de manière synchrone au sein du gestionnaire HTTP, poussez la charge utile vérifiée vers une file d'attente de messages (par exemple, Kafka, RabbitMQ) pour un traitement asynchrone par des services de travail dédiés. Cela découple l'ingestion du traitement, améliorant la réactivité et la tolérance aux pannes.
- Équilibrage de charge : Déployez plusieurs instances de votre consommateur de webhooks derrière un équilibreur de charge pour distribuer le trafic et gérer les charges de pointe.
- Surveillance : Implémentez une journalisation et une surveillance robustes pour suivre la livraison des webhooks, les temps de traitement et les erreurs potentielles.
La rétention des données est un autre aspect critique, en particulier avec les données d'identité. Didit agit en tant que processeur de données, et vous restez le contrôleur de données. Didit propose des politiques de rétention de données configurables dans la console Business, vous permettant de définir des périodes de rétention de 1 mois à 10 ans, ou illimitées. Cela garantit la conformité avec des réglementations comme le RGPD en contrôlant la durée de stockage des entrées, sorties et métadonnées de vérification. Pour votre propre microservice, assurez-vous également d'avoir une stratégie claire de rétention des données pour les charges utiles de webhook que vous stockez et traitez en interne, en alignement avec vos obligations légales et de conformité.
Comment Didit vous aide
Didit fournit l'infrastructure d'identité fondamentale qui rend la construction de consommateurs de webhooks haute performance simple et sécurisée. Notre plateforme offre un niveau Free Core KYC, vous permettant de commencer à vérifier les identités sans frais initiaux. L'architecture modulaire de Didit signifie que vous pouvez choisir les primitives d'identité dont vous avez besoin, telles que la vérification d'identité pour les contrôles de documents, la vivacité passive et active pour la prévention de la fraude, ou le contrôle et la surveillance AML pour la conformité, et les intégrer de manière transparente dans vos flux de travail.
Nos webhooks sont conçus pour les développeurs, fournissant des notifications en temps réel pour les événements critiques. Avec des fonctionnalités telles que des URL de webhook configurables, des versions de charge utile (v3 recommandée) et une rotation facile des clés secrètes, Didit vous assure de disposer des outils pour construire un service de consommation de webhook sécurisé et évolutif. Notre approche native de l'IA pour la vérification d'identité signifie que vous recevez des résultats très précis et fiables, que votre microservice gRPC Go peut ensuite consommer et agir instantanément. Didit prend également en charge la vérification NFC pour les passeports électroniques et les cartes d'identité électroniques, offrant le plus haut niveau d'assurance, avec tous les résultats pouvant être poussés via des webhooks.
Prêt à commencer ?
Prêt à voir Didit en action ? Obtenez une démo gratuite dès aujourd'hui.
Commencez à vérifier les identités gratuitement avec le niveau gratuit de Didit.