Как выйти из системы пользователя через API

Я пытаюсь выполнить выход пользователя через API, но безуспешно.

Я прочитал статью: SSO Logout via Master API Key isn't working - #2 by simon

В моём HttpClient заголовки содержат имя пользователя и API-ключ, и это работает для других операций, например, получение пользователя по внешнему ID или иные запросы.

Нужно ли мне также отправлять api-key и api-username в теле запроса?

Мои пользователи входят через SSO. Когда я выполняю выход пользователя через админ-панель на Discourse, всё работает.

Вот фрагмент кода, показывающий, как я пытаюсь вызвать этот метод:

var formData = new FormUrlEncodedContent(new
{
new KeyValuePair<string, string>("username_or_email", user.user.username)
});
var response = await _httpClient.PostAsync($"/admin/users/{user.user.id}/log_out", formData);
var content = await response.Content.ReadAsStringAsync();

Ответ возвращает код 200, но содержимое — это веб-страница, а не JSON-объект вида {“Success”: “OK”}.

Приношу извинения за создание темы.

Проблема заключалась в том, что моя среда разработки указывала на экземпляр Discourse по протоколу http, а не https.

После переключения на https-эндпоинт всё начало работать.

Я был сбит с толку, потому что некоторые API-эндпоинты работают через http, а этот — нет.

Для будущих читателей вот как я выхожу из системы пользователей с помощью C#:

             var url = $"/admin/users/{user.user.id}/log_out";
            using var formData = new MultipartFormDataContent{
{ new StringContent(_forumConfigModel.ApiKey), "api_key" },
{ new StringContent(_forumConfigModel.User), "api_username" }
};

var response = await _httpClient.PostAsync(url, formData);