Como desconectar usuário por API

Enquanto tento desconectar o usuário por API, mas sem sucesso,

Li SSO Logout via Master API Key isn't working - #2 by simon

Meu httpclient tem nome de usuário e chave de API definidos nos cabeçalhos, e funciona para outras coisas, por exemplo, postar obter usuário por ID externo ou outras.

Preciso enviar api-key e api-username também no corpo.

Meus usuários estão logados por sso, quando desconecto o usuário da página de administrador no discourse, funciona.

Aqui está parte do código de como estou tentando chamá-lo

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();

A resposta retorna código 200, mas o conteúdo é uma página da web, não {Succes: “OK” }

Peço desculpas por abrir um tópico.

O problema foi que minha configuração de desenvolvimento apontava para uma instância HTTP e não HTTPS do Discourse.

Quando mudei para o endpoint HTTPS, começou a funcionar.

Fiquei confuso porque alguns endpoints de API funcionavam via HTTP, mas este não.

Para futuros leitores, aqui está como eu desconecto usuários usando 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);
2 curtidas