Pour corriger l’erreur « Invalid token » lors de l’intégration d’OnlyOffice dans NextCloud

Sous Debian 12 vous pouvez vous connecter en administrateur root (su) et supprimer la commande sudo.


1. Le token pour OnlyOffice :

1. Vérifiez le secret JWT sur le serveur OnlyOffice

Le fichier à modifier est :

sudo nano /etc/onlyoffice/documentserver/local.json

Cherchez la section :

"token": {
"enable": {
"request": {
"inbox": true,
"outbox": true
},
"browser": true
},
"inbox": {
"header": "AuthorizationJwt"
},
"outbox": {
"header": "AuthorizationJwt"
}
},
"secret": {
"inbox": {
"string": "your-secret-token"
},
"outbox": {
"string": "your-secret-token"
},
"session": {
"string": "your-secret-token"
}
}

Vous pouvez récupérer la valeur de « string » utile pour la configuration de NextCloud. Elle se trouve à la place de « your-secret-token »(par exemple AbC123DEF456). Vous pouvez la modifier avec une clé robuste. Avant toute modification faites une copie de votre fichier original et conservez la clé d’origine en cas de besoin.

2. Copiez ce même token sur le serveur Nextcloud

Dans Nextcloud, allez dans :

Paramètres > Administration > ONLYOFFICE

Et remplissez le champ :

Clé secrète (ou « JWT secret ») : collez exactement la même valeur que dans local.json

3. Redémarrez les services sur le serveur OnlyOffice

Si on utilise systemd (c’est mon cas, on peut vérifier avec systemctl status ds-docservice.service) :

sudo systemctl restart ds-docservice.service

Voir : Les services Linux avec systemd

4. Testez à nouveau sur le serveur Nextcloud

  • Rechargez la page de configuration OnlyOffice
  • Cliquez sur “Enregistrer”
  • Si tout est bien configuré, le message d’erreur disparaît

2. Sur le serveur Nextcloud si cela ne fonctionne toujours pas :

J’ai installé NextCloud dans le dossier /var/www/html.

sudo nano /var/www/html/nextcloud/config/config.php

Voici ce que l’on doit ajouter à la fin du tableau $CONFIG, juste avant la parenthèse de fermeture ); Le nom de domaine doit être le votre  :

'onlyoffice' =>
array (
'verify_peer_off' => true,
'jwt_header' => 'AuthorizationJwt',
'jwt_secret' => 'AbC123DEF456',
'url' => 'https://office.monnomdedomaine.com/',
),

Remplacez AbC123DEF456 par votre clé secrète.

Remplacez office.monnomdedomaine.com par le nom de domaine ou de sous-domaine de votre serveur OnlyOffice.

3. Astuce : désactiver temporairement la vérification de jeton (non recommandé en prod) :

Dans le fichier local.json, vous pouvez désactiver les tokens pour du debug :

"token": {
  "enable": {
    "browser": false,
    "request": {
      "inbox": false,
      "outbox": false
    }
  }
}

Mais cela désactive la sécurité JWT, donc ne le laisse jamais actif en production.

Retour en haut