Errore generatore chiave API utente Discourse MCP Nodejs 20

Le segnalazioni non sono abilitate nel repository GitHub, ma fatemi sapere se devo pubblicare questo messaggio altrove!

Quando eseguo il generatore di chiavi API utente, ottengo il seguente errore:

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

Sembra che questo non sia supportato di default da nodejs 20.

Sebbene quel post menzioni una soluzione alternativa per riabilitare l’opzione di padding, questa sembra essere stata disabilitata da allora.

$ 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

Sono un po’ confuso, perché il codice per questo è stato aggiunto di recente in discourse-mcp/src/user-api-key-generator.ts at 51f144fff8847647d1ba7354d5bc1fe661110a43 · discourse/discourse-mcp · GitHub pochi mesi fa. Forse tutti stanno solo usando chiavi generate dagli amministratori?

Un post è stato diviso in un nuovo argomento: MCP’s default query parameter hallucination

Quali versioni di OS, NodeJS e OpenSSL stai utilizzando?

Per me funziona su

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

🔑 Generatore di chiavi API utente di Discourse

Sito: https://meta.discourse.org
Scope: read,write

Generazione della coppia di chiavi RSA in corso...
✓ Coppia di chiavi generata
Si prega di visitare questo URL per autorizzare l'applicazione:

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

Dopo aver autorizzato, sarai reindirizzato a un URL come:
  discourse://auth_redirect?payload=<encrypted_payload>

Oppure potresti vedere il payload crittografato visualizzato sulla pagina.

Incolla qui il payload crittografato:  longkey

Decrittazione del payload in corso...
✓ Chiave API utente recuperata con successo

✓ Salvato in profile: 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 Mi Piace
$ node --version
v22.15.0
$ openssl -v
OpenSSL 3.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 2025)

Ho appena effettuato il passaggio a node 24 tramite nvm e ha funzionato! Questo mi ha portato a trovare Unable to use RSA_PKCS1_PADDING with v22+ - `--security-revert` suggests CVE-2024-PEND · Issue #55628 · nodejs/node · GitHub che si conclude dicendo che questo non funzionerà mai su node < 24.

Suppongo che discourse-mcp/package.json at 858e5bd5092c7d31693554046db34f98671a8cb9 · discourse/discourse-mcp · GitHub debba essere aggiornato a >=24.

Grazie!

2 Mi Piace

Buona idea

2 Mi Piace