2.7 KiB
2.7 KiB
la # Journalisation et analyse du flux IdNot
Nginx (serveur web du front)
- Fichier d’inclusion:
/home/debian/4NK_env/lecoffre_node/conf/nginx/logging.conf - Inclus dans le vhost:
/home/debian/4NK_env/lecoffre_node/conf/nginx/dev4.4nkweb.com-https.conf - Logs générés:
- Access:
/var/log/nginx/lecoffre_front_access.log(format JSONlecoffre_json) - Error:
/var/log/nginx/lecoffre_front_error.log
- Access:
Champs JSON importants: time, request_id, method, uri, status, request_time, upstream_status, upstream_response_time, x_forwarded_for.
Propagation d’identifiant de requête:
X-Request-IDclient → mappé dans$x_request_id(fallback$request_id).- Re-transmis aux upstream via
proxy_set_header X-Request-ID $x_request_id;.
Commandes utiles:
# Dernières lignes des requêtes IdNot state
grep '"uri":"/api/v1/idnot/state' /var/log/nginx/lecoffre_front_access.log | tail -n 50 | jq .
# Requêtes IdNot auth
grep '"uri":"/api/v1/idnot/auth' /var/log/nginx/lecoffre_front_access.log | tail -n 50 | jq .
Front (lecoffre-front)
- Ajout d’un
X-Request-IDgénéré côté front lors duPOST /api/v1/idnot/statepour corrélation. - Code:
src/front/Api/Auth/IdNot/index.ts(entêteX-Request-ID: front_<rand>)
Backend (dev3)
- À surveiller dans les logs applicatifs:
POST /api/v1/idnot/state: génération de state (HMAC/TTL/nonce)POST /api/v1/idnot/auth: échange du code, puis appels vers IdNot et API Annuaire V2- Appels sortants vers
https://qual-api.notaires.fr/...: status, headers, body (tronqué), erreurs de parsing JSON
Conseils d’instrumentation backend:
- Loguer
X-Request-ID,Authorizationmasqué,Content-Type,Accept. - En cas d’échec JSON, loguer les 200 premiers caractères du body et le header
content-type.
Points à surveiller spécifiquement
status4xx/5xx sur/api/v1/idnot/authet tempsupstream_response_timeélevés.- Réponses non-JSON de l’API Annuaire (ex: body commençant par "No context") → probable manque de contexte/jeton.
- Cohérence
state(émis côté backend) etredirect_urifixe.
Vérifications rapides
# Génération de state (OK attendu)
curl -sS --connect-timeout 3 --max-time 8 -X POST \
-H 'Content-Type: application/json' \
-d '{"next_url":"https://dev4.4nkweb.com/lecoffre/authorized-client"}' \
https://dev4.4nkweb.com/api/v1/idnot/state | jq .
# Auth (nécessite code valide)
curl -sS --connect-timeout 3 --max-time 10 -X POST \
-H 'Content-Type: application/json' \
-H "X-Request-ID: debug_manual_$(date +%s)" \
-d '{"code":"<CODE_IDNOT>"}' \
https://dev4.4nkweb.com/api/v1/idnot/auth | jq .