API при создании пользователя больше не возвращает user_id

У меня есть скрипт, который ежедневно запускается для создания новых пользователей через API. До нескольких дней назад после завершения запроса в ответе указывался user_id созданного пользователя. Теперь API этого не делает? Но в документации API указано, что это должно происходить.

Создаётся ли пользователь?

Мне кажется, что по какой-то причине пользователь не создаётся, и поэтому не возвращается user_id.

Пользователи создаются. Я это подтвердил. API возвращает этот статус, но в нём отсутствует user_id

{
    "success": true,
    "active": true,
    "message": "Ваша учётная запись активирована и готова к использованию."
}

Да, похоже, это баг. Я искал объяснения на Commits · discourse/discourse · GitHub, но ничего не нашёл.

Чтобы подтвердить проблему, я создал пользователя через API в версии 3.4.0.beta3-dev, и в ответе был возвращён user_id.

{
	"success": true,
	"active": true,
	"message": "Ваша учётная запись активирована и готова к использованию.",
	"user_id": 3
}

После обновления до версии 3.4.0.beta4-dev я повторил действие, и теперь user_id отсутствует:

{
	"success": true,
	"active": true,
	"message": "Ваша учётная запись активирована и готова к использованию."
}

Итак, вы сузили круг поиска до проблемного коммита.

Только догадка

Вероятно, связано с DEV: Change hide_email_address_taken default to true (#30293) · discourse/discourse@c1c7ea8 · GitHub, объяснённым здесь:

Кажется, было бы желательно переопределить это поведение, когда запрос выполняется с использованием API-ключа администратора?

Спасибо! Изменение этого параметра восстановило результат API, так что теперь я получаю user_id в ответе после создания пользователя.

Здравствуйте,

У нас то же самое…

Это что-то, над чем сейчас работают разработчики? Потому что может быть непросто помнить, что эти настройки противоречат документации :stuck_out_tongue: