« Token not provided » après une authentification à deux facteurs

Le message ne parle pas de votre code à six chiffres mais du jeton anti-CSRF de Dolibarr. Ce que dit le code de la 23.0.3, et par où prendre le diagnostic.

Versions concernées
Dolibarr 23.0.3 · code identique en 23.0.4 sur ce point
Ce qui a été vérifié
Lecture du code de la 23.0.3 : point d'entrée commun des pages, fonctions de sécurité, gestion des identifiants. Code comparé entre 23.0.3 et 23.0.4. Le cas d'un utilisateur particulier n'a pas été reproduit : la partie « par où prendre le problème » est une méthode, pas un constat.

Vous vous connectez, la double authentification passe, et au premier téléchargement de document Dolibarr affiche « Token not provided ». Le message parle d’un jeton, on pense aussitôt au code à six chiffres. Ce n’est pas le même jeton.

De quel jeton il s’agit

Dolibarr protège ses formulaires contre la falsification de requête entre sites — le CSRF. Le principe : chaque page génère un jeton, et toute action sensible doit le renvoyer. Si une requête arrive sans ce jeton, Dolibarr la refuse, et c’est exactement ce que dit le message.

Le jeton en cause n’a donc rien à voir avec votre code à six chiffres : c’est un jeton de page, invisible, propre à votre session. Il manque parce que la requête qui atteint la page de téléchargement n’est pas partie de la page qui l’aurait signée.

Un point qui surprend

Le cœur de Dolibarr 23 n’embarque pas de double authentification fonctionnelle. Si vous en avez une, elle vient d’un module tiers. C’est important pour le diagnostic : le comportement que vous observez dépend alors de ce module, pas seulement de Dolibarr — et c’est par là qu’il faut commencer à chercher.

Ce qui a été vérifié

  • Lecture du code de la 23.0.3 : point d’entrée commun des pages, fonctions de sécurité, gestion des identifiants.
  • Comparaison du code entre 23.0.3 et 23.0.4 : rien n’a changé sur ce point. Monter en 23.0.4 ne résoudra donc pas le problème à lui seul.

Le cas d’un utilisateur particulier n’a pas été reproduit : la cause finale dépend de son installation et de son module de double authentification. Ce qui suit est une méthode, pas un diagnostic à distance.

Par où prendre le problème

  1. Identifier le module de double authentification installé, et sa version.
  2. Le désactiver le temps d’un test : si l’erreur disparaît, le sujet est là, et pas dans le cœur.
  3. Regarder d’où part la requête qui échoue. Un lien collé, un favori, un appel automatisé ou une page ouverte depuis longtemps n’auront pas de jeton valide.

Ce qu’il ne faut pas faire

On trouve en ligne des conseils qui reviennent à désactiver le contrôle anti-CSRF pour faire taire le message. C’est retirer une serrure parce qu’on a perdu la clé. Le contrôle fait exactement son travail : la bonne question est pourquoi une requête arrive sans jeton, pas comment empêcher Dolibarr de s’en apercevoir.

Dolibarrtoken not providedCSRFdouble authentificationTOTP23.0.3