2.7 KiB
2.7 KiB
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-ID
client → 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-ID
généré côté front lors duPOST /api/v1/idnot/state
pour 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
,Authorization
masqué,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
status
4xx/5xx sur/api/v1/idnot/auth
et 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_uri
fixe.
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 .