После создания сотен бот-аккаунтов я экспериментирую с reCAPTCHA (v2). Проблема в том, что один из моих рабочих процессов n8n, создающий пользователей, теперь блокируется.
При выполнении POST /users.json с ключом API администратора возвращается ответ {"success":false,"message":"Captcha verification failed"}.
Что я выяснил:
- Ошибка возникает независимо от того, присутствуют ли в запросе параметры
active/approved, так что дело не в параметрах активации. При отключенной капче тот же запрос выполняется успешно. - Проверка капчи, похоже, требует токен, который получается только из формы регистрации в браузере, и я не вижу исключений для API-запросов.
POST /admin/usersне является альтернативой. Он возвращает 404 даже с корректным ключом администратора. Тот же ключ возвращает 200 при запросеGET /admin/users/list/active.json, так что с ключом всё в порядке.- Настройки reCAPTCHA в консоли Google не помогают, так как запрос отклоняется до того, как Discourse обращается к Google. Не ожидаю, что reCAPTCHA v3 или hCaptcha также помогут, поскольку проверка на отсутствие токена выполняется первой.
Существует ли поддерживаемый способ создания пользователей через API при включенной капче? Если нет, было бы логично предложить как функцию возможность «административные API-запросы пропускают капчу»?