Erreur de générateur de clé API utilisateur Discourse MCP Nodejs 20

Les problèmes ne sont pas activés dans le dépôt GitHub, mais n’hésitez pas à me dire si je dois publier ceci ailleurs !

Lorsque j’exécute le générateur de clé API utilisateur, j’obtiens l’erreur suivante :

Decrypting payload…
[2025-12-01T16:38:59.409Z] ERROR Failed to decrypt payload: RSA_PKCS1_PADDING is no longer supported for private decryption.

Il semble que cela ne soit plus pris en charge par défaut depuis nodejs 20.

Bien que cet article mentionne une solution de contournement pour réactiver l’option de rembourrage, celle-ci semble avoir été désactivée depuis.

$ NODE_OPTIONS='--security-revert=CVE-2023-46809' npx @discourse/mcp@latest generate-user-api-key --site https://example.com --save-to discourse-mcp.json  --scopes "read"
node: --security-revert= is not allowed in NODE_OPTIONS

Je suis un peu confus, car le code pour cela a été ajouté récemment dans discourse-mcp/src/user-api-key-generator.ts at 51f144fff8847647d1ba7354d5bc1fe661110a43 · discourse/discourse-mcp · GitHub il y a quelques mois. Peut-être que tout le monde utilise simplement des clés générées par l’administrateur ?

Un message a été scindé dans un nouveau sujet : MCP’s default query parameter hallucination

Quelle version d’OS, de NodeJS et d’OpenSSL utilisez-vous ?

Cela fonctionne bien pour moi sur

Linux
Node 24.5
OpenSSL 3.6.0


◄ 0s ◎ npx @discourse/mcp@latest generate-user-api-key \
             --site https://meta.discourse.org \
             --save-to profile.json

🔑 Générateur de clé API utilisateur Discourse

Site : https://meta.discourse.org
Scopes : read,write

Génération de la paire de clés RSA...
✓ Paire de clés générée
Veuillez visiter cette URL pour autoriser l'application :

https://meta.discourse.org/user-api-key/new?application_name=Discourse+MCP&client_id=discourse-mcp&scopes=read%2Cwrite&public_key=-----BEGIN+PUBLIC+KEY-----blablabla----END+PUBLIC+KEY-----%0A&nonce=1764619683010

Après autorisation, vous serez redirigé vers une URL comme :
  discourse://auth_redirect?payload=<encrypted_payload>

Ou vous pourriez voir la charge utile chiffrée affichée sur la page.

Collez la charge utile chiffrée ici :  longkey

Déchiffrement de la charge utile...
✓ Clé API utilisateur récupérée avec succès

✓ Enregistré dans le profil : profile.json

{
  "success": true,
  "profile": "profile.json"
}

◄ 16s ◎ node --version
v24.5.0

◄ 0s ◎ openssl --version
OpenSSL 3.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 2025)
2 « J'aime »
$ node --version
v22.15.0
$ openssl -v
OpenSSL 3.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 2025)

Je viens de passer à node 24 via nvm et ça a fonctionné ! Cela m’a conduit à trouver Unable to use RSA_PKCS1_PADDING with v22+ - `--security-revert` suggests CVE-2024-PEND · Issue #55628 · nodejs/node · GitHub qui se termine en disant que cela ne fonctionnera jamais sur node < 24.

Je suppose que discourse-mcp/package.json at 858e5bd5092c7d31693554046db34f98671a8cb9 · discourse/discourse-mcp · GitHub devrait être mis à jour à >=24.

Merci !

2 « J'aime »

Bonne idée

2 « J'aime »