# API로 사용자 로그아웃하는 방법

**URL:** https://meta.discourse.org/t/how-to-logout-user-by-api/386607
**Category:** Support
**Tags:** rest-api
**Created:** [10월 24, 2025, 7:07오전 UTC](https://meta.discourse.org/t/how-to-logout-user-by-api/386607 "2025-10-24T07:07:29Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![adopilot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adopilot/32/105040_2.png) [@adopilot](https://meta.discourse.org/u/adopilot)
#### Post date: [10월 24, 2025, 7:07오전 UTC](https://meta.discourse.org/t/how-to-logout-user-by-api/386607/1 "2025-10-24T07:07:29Z")

</div>

API를 통해 사용자를 로그아웃시키려 하고 있지만, 성공하지 못하고 있습니다.

[SSO Logout via Master API Key isn't working - #2 by simon](https://meta.discourse.org/t/sso-logout-via-master-api-key-isnt-working/56485/2?u=adopilot) 이 글을 읽었습니다.

제 httpclient에는 헤더에 사용자 이름과 API 키가 설정되어 있으며, 외부 ID로 사용자 가져오기 등 다른 기능에서는 정상적으로 작동합니다.

API 키와 API 사용자 이름을 본문(body)에도 보내야 하나요?

제 사용자들은 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 코드를 반환하지만, 콘텐츠가 {Succes: “OK” }가 아니라 웹 페이지입니다.

---

<div class="post-metadata">

### Author: ![adopilot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adopilot/32/105040_2.png) [@adopilot](https://meta.discourse.org/u/adopilot)
#### Post date: [10월 24, 2025, 2:34오후 UTC](https://meta.discourse.org/t/how-to-logout-user-by-api/386607/2 "2025-10-24T14:34:52Z")

</div>

주제를 열게 되어 죄송합니다.

문제는 제 개발 환경이 Discourse의 http 인스턴스를 https 인스턴스로 잘못 가리키고 있었던 것이었습니다.

https 엔드포인트로 전환하자 작동하기 시작했습니다.

일부 API 엔드포인트는 http로 작동하는데 이 엔드포인트만 작동하지 않아서 혼란스러웠습니다.

미래의 독자들을 위해 C#으로 사용자를 로그아웃하는 방법을 공유합니다.

```plaintext
             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);

```

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [11월 23, 2025, 2:35오후 UTC](https://meta.discourse.org/t/how-to-logout-user-by-api/386607/3 "2025-11-23T14:35:36Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
