Ошибка генератора ключей API пользователя Discourse MCP в Node.js >20

В репозитории GitHub не включена функция отслеживания проблем, но, пожалуйста, дайте знать, если мне стоит разместить это в другом месте!

При запуске генератора ключей API пользователя я получаю следующую ошибку:

Расшифровка полезной нагрузки…
[2025-12-01T16:38:59.409Z] ОШИБКА Не удалось расшифровать полезную нагрузку: RSA_PKCS1_PADDING больше не поддерживается для приватной расшифровки.

Похоже, что эта опция по умолчанию не поддерживается с версии nodejs 20.

Хотя в том сообщении упоминается обходной путь для повторного включения опции заполнения, похоже, что она была отключена с тех пор.

$ 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= не разрешено в NODE_OPTIONS

Я немного запутался, потому что код для этого был недавно добавлен в discourse-mcp/src/user-api-key-generator.ts at 51f144fff8847647d1ba7354d5bc1fe661110a43 · discourse/discourse-mcp · GitHub несколько месяцев назад. Возможно, все просто используют ключи, сгенерированные администратором?

Какая у вас операционная система, версия NodeJS и OpenSSL?

У меня всё работает отлично на:

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

🔑 Генератор ключей API пользователя Discourse

Сайт: https://meta.discourse.org
Области доступа: read,write

Генерация пары ключей RSA...
✓ Пара ключей сгенерирована

Пожалуйста, перейдите по этой ссылке для авторизации приложения:

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

После авторизации вас перенаправят на URL вида:
  discourse://auth_redirect?payload=<encrypted_payload>

Или вы можете увидеть зашифрованную полезную нагрузку, отображаемую на странице.

Вставьте зашифрованную полезную нагрузку сюда:  longkey

Расшифровка полезной нагрузки...
✓ Ключ API пользователя успешно получен

✓ Сохранено в профиль: profile.json

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

◄ 16s ◎ node --version 
v24.5.0

◄ 0s ◎ openssl --version
OpenSSL 3.6.0 1 Oct 2025 (Библиотека: OpenSSL 3.6.0 1 Oct 2025)
$ node --version
v22.15.0
$ openssl -v
OpenSSL 3.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 2025)

Я только что переключился на Node 24 через nvm, и всё заработало! Это привело меня к Unable to use RSA_PKCS1_PADDING with v22+ - `--security-revert` suggests CVE-2024-PEND · Issue #55628 · nodejs/node · GitHub, где в конце сказано, что это никогда не будет работать на Node < 24.

Полагаю, что discourse-mcp/package.json at 858e5bd5092c7d31693554046db34f98671a8cb9 · discourse/discourse-mcp · GitHub следует обновить до >=24.

Спасибо!

Отличная идея