- Remplacement de DocuSeal par solution souveraine Odentas Sign - Système d'authentification OTP pour signataires (bcryptjs + JWT) - 8 routes API: send-otp, verify-otp, sign, pdf-url, positions, status, webhook, signers - Interface moderne avec canvas de signature et animations (framer-motion, confetti) - Système de templates pour auto-détection des positions de signature (CDDU, RG, avenants) - PDF viewer avec @react-pdf-viewer (compatible Next.js) - Stockage S3: source/, signatures/, evidence/, signed/, certs/ - Tables Supabase: sign_requests, signers, sign_positions, sign_events, sign_assets - Evidence bundle automatique (JSON metadata + timestamps) - Templates emails: OTP et completion - Scripts Lambda prêts: pades-sign (KMS seal) et tsaStamp (RFC3161) - Mode test détecté automatiquement (emails whitelist) - Tests complets avec PDF CDDU réel (2 signataires)
2.9 KiB
2.9 KiB
✅ Test Odentas Sign - Récapitulatif
🎉 Demande de signature créée avec succès !
📋 Informations
- ID: 75b4408d-1bbd-464f-a9ea-2b4e5075a817
- Ref: TEST-1761582838435
- PDF: s3://odentas-sign/source/test/TEST-1761582838435.pdf
👥 Signataires
1. Employeur - Odentas Paie
- Email: paie@odentas.fr
- Signer ID: 95c4ccdc-1a26-4426-a56f-653758159b54
2. Salarié - Renaud Breviere
- Email: renaud.breviere@gmail.com
- Signer ID: d481f070-2ac6-4f82-aff3-862783904d5d
🚀 Comment tester ?
Option 1 : Script interactif (recommandé)
./test-signature-flow.sh
Le script vous propose un menu pour :
- Envoyer OTP Employeur
- Envoyer OTP Salarié
- Vérifier OTP et obtenir le token
- Enregistrer la signature
Option 2 : Commandes manuelles
Étape 1 : Envoyer OTP Employeur
curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/send-otp
➡️ Le code OTP apparaît dans les logs du serveur Next.js
Étape 2 : Vérifier OTP
curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/verify-otp \
-H "Content-Type: application/json" \
-d '{"otp": "VOTRE_CODE"}'
Copiez le sessionToken retourné.
Étape 3 : Signer
curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/sign \
-H "Content-Type: application/json" \
-H "Authorization: Bearer VOTRE_TOKEN" \
-d '{"signatureImageBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyCAYAAACqNX6+AAAABmJLR0QA/wD/AP+gvaeTAAAAeklEQVR4nO3QMQEAAAjAMMC/52ECvlRA00ASAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcNkFzQABOWLnlYwAAAAASUVORK5CYII=", "consentText": "Je consens"}'
Étape 4 : Répéter pour le salarié
Utilisez le signer ID : d481f070-2ac6-4f82-aff3-862783904d5d
🔍 Vérifier le statut
curl http://localhost:3000/api/odentas-sign/requests/75b4408d-1bbd-464f-a9ea-2b4e5075a817
⚠️ Mode Test Actif
- ✅ Les codes OTP sont affichés dans les logs serveur
- ✅ Les emails sont envoyés vers les vraies adresses
- ❌ Le scellage PAdES est désactivé
- ❌ L'horodatage TSA est désactivé
- ❌ L'archivage Object Lock est désactivé
Une fois tous les signataires signés, le webhook de completion sera appelé mais ne déclenchera PAS le scellage.
📊 Vérifier dans Supabase
-- Voir la demande
SELECT * FROM sign_requests WHERE ref = 'TEST-1761582838435';
-- Voir les signataires
SELECT * FROM signers WHERE request_id = '75b4408d-1bbd-464f-a9ea-2b4e5075a817';
-- Voir les événements
SELECT * FROM sign_events WHERE request_id = '75b4408d-1bbd-464f-a9ea-2b4e5075a817' ORDER BY ts ASC;
Bonne chance pour les tests ! 🎯