В репозитории GitHub не включена функция отслеживания проблем, но, пожалуйста, дайте знать, если мне стоит разместить это в другом месте!
При запуске генератора ключей API пользователя я получаю следующую ошибку:
Расшифровка полезной нагрузки…
[2025-12-01T16:38:59.409Z] ОШИБКА Не удалось расшифровать полезную нагрузку: RSA_PKCS1_PADDING больше не поддерживается для приватной расшифровки.
Похоже, что эта опция по умолчанию не поддерживается с версии nodejs 20.
A minor issue and maybe a bigger one:
There’s a required nonce param that’s not mentioned in the documentation:
def require_params
%i[public_key nonce scopes client_id application_name].each { |p| params.require(p) }
end
Now the trickier issue. Discourse calls the public_encrypt method with no arguments:
That means the padding argument defaults to PKCS1_PADDING. From the Ruby documentation :
Encrypt string with the public key. padding defaults to PKCS1_PADDING , which is known to be…
Хотя в том сообщении упоминается обходной путь для повторного включения опции заполнения, похоже, что она была отключена с тех пор.
$ 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 несколько месяцев назад. Возможно, все просто используют ключи, сгенерированные администратором?
Falco
(Falco)
01.Декабрь.2025 20:10:30
4
deviantintegral:
Когда я запускаю генератор ключей API пользователя, получаю следующую ошибку:
Decrypting payload…
[2025-12-01T16:38:59.409Z] ERROR Failed to decrypt payload: RSA_PKCS1_PADDING is no longer supported for private decryption.
Похоже, что по умолчанию это больше не поддерживается с версии nodejs 20.
Какая у вас операционная система, версия 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.
Спасибо!