fix(backend): documente le 403 CSRF de require_trusted_origin

Le contrat OpenAPI et 31-contrat-authentification.md passaient sous
silence le 403 leve par require_trusted_origin sur refresh, logout,
logout-all et password. Ajoute REPONSE_ORIGINE_REFUSEE, regenere
openapi.json et etend test_openapi.py pour verifier que ces quatre
routes le declarent.
This commit is contained in:
Johan LEROY
2026-09-16 11:22:40 +02:00
parent 3347fa5bdb
commit fabd073aaf
6 changed files with 78 additions and 5 deletions
+40
View File
@@ -186,6 +186,16 @@
}
}
},
"403": {
"description": "Origine non autorisée (protection CSRF de `require_trusted_origin`).",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"401": {
"description": "Cookie absent, session expirée, révoquée, ou jeton déjà tourné. Dans ce dernier cas toute la famille de sessions est révoquée et le cookie est effacé avec la réponse.",
"content": {
@@ -224,6 +234,16 @@
}
}
}
},
"403": {
"description": "Origine non autorisée (protection CSRF de `require_trusted_origin`).",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
@@ -263,6 +283,16 @@
}
}
}
},
"403": {
"description": "Origine non autorisée (protection CSRF de `require_trusted_origin`).",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
@@ -366,6 +396,16 @@
}
}
},
"403": {
"description": "Origine non autorisée (protection CSRF de `require_trusted_origin`).",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"401": {
"description": "Jeton d'accès invalide, ou mot de passe courant faux.",
"content": {