Erro na rota /admin/users/1/log_out

Estou recebendo este erro ao tentar fazer logout do usuário via o endpoint de logout do SSO, tanto no Postman quanto no site.

Os logs de produção indicam um erro de rota. Já verifiquei duas vezes se o nome de usuário e a chave da API estão corretos. Consegui fazer o mesmo código funcionar no ambiente de desenvolvimento, mas não em produção.

Tentei revogar e recriar a chave da API várias vezes, sem sucesso. Também tentei enviar os parâmetros tanto no cabeçalho quanto como parâmetros de consulta.

Aqui está a saída do log de produção:

Started POST “/admin/users/2/log_out?api_username=dev&api_key=[FILTERED]” for 73.71.125.29 at 2020-05-26 01:37:17 +0000
ActionController::RoutingError (No route matches [POST] “/admin/users/2/log_out”)

É necessário fazer algo especial para que a chave da API seja reconhecida em produção?

Você precisa definir Api-Key e Api-Username nos cabeçalhos da solicitação. Consulte o exemplo curl próximo ao início deste tópico: Documentação da API do Discourse. Certifique-se de usar um hífen (-) e não um sublinhado (_) nos nomes dos campos. Por exemplo, api-key funcionará como nome de campo, mas api_key não funcionará.

Isso funcionou, obrigado.

Se mais alguém estiver com esse problema, aqui está o comando curl necessário para testar:

curl -X POST "http://localhost:3000/admin/users/1/log_out" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: [FILTERED]" \
-H "Api-Username: system"