# 외부 ID를 기반으로 사용자를 반환하는 API 요청

**URL:** https://meta.discourse.org/t/api-request-to-return-a-user-based-on-their-external-id/163413
**Category:** SSO
**Tags:** discourseconnect, rest-api
**Created:** [9월 8, 2020, 7:55오후 UTC](https://meta.discourse.org/t/api-request-to-return-a-user-based-on-their-external-id/163413 "2020-09-08T19:55:24Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![rossinboulder](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@rossinboulder](https://meta.discourse.org/u/rossinboulder)
#### Post date: [9월 8, 2020, 7:55오후 UTC](https://meta.discourse.org/t/api-request-to-return-a-user-based-on-their-external-id/163413/1 "2020-09-08T19:55:24Z")

</div>

API에서 사용자의 "external\_id"를 어떻게 가져올 수 있는지 아는 분이 있을까요? SSO 로그인 시 external\_id를 추가했는데, 이제 사용자를 조회할 때 API가 반환하는 사용자 해시에서 "external\_id"를 찾을 수 없습니다. 웹훅을 처리할 때 external\_id를 사용하여 내 데이터베이스에서 사용자를 식별하려고 하고 있습니다.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [9월 8, 2020, 8:04오후 UTC](https://meta.discourse.org/t/api-request-to-return-a-user-based-on-their-external-id/163413/2 "2020-09-08T20:04:49Z")

</div>

> [@rossinboulder](#):
>
> API에서 사용자의 “external\_id”를 가져오는 방법을 아는 사람이 있나요?

네, 인증된 `GET` 요청을 `https://discourse.example.com/u/by-external/{external_id}.json`으로 보내면 됩니다.

이 경로는 여기에 문서화되어 있습니다: [Discourse API Docs](https://docs.discourse.org/#tag/Users/paths/~1u~1by-external~1%7Bexternal_id%7D.json/get).

---

<div class="post-metadata">

### Author: ![rossinboulder](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@rossinboulder](https://meta.discourse.org/u/rossinboulder)
#### Post date: [9월 8, 2020, 8:13오후 UTC](https://meta.discourse.org/t/api-request-to-return-a-user-based-on-their-external-id/163413/3 "2020-09-08T20:13:51Z")

</div>

역방향 조회(즉, user\_id를 기반으로 external\_id를 얻는 것)를 수행하려면 다음 중 하나를 사용할 수 있습니다:

- [Discourse Ruby API](https://github.com/discourse/discourse_api)를 사용하여 `user_sso(user_id)` 메서드를 호출합니다.

- 다음 주소로 [인증된 GET 요청](https://docs.discourse.org/#tag/Users/paths/~1admin~1users~1%7Bid%7D.json/get)을 보냅니다:  
[https://discourse.example.com/admin/users/{id}.json](https://discourse.example.com/admin/users/%7Bid%7D.json)  
그 후 해시 키 [“single\_sign\_on\_record”][“external\_id”]를 찾습니다.

`single_sign_on_record`(및 `external_id`)는 다음 호출을 통해 반환되지 않는다는 점에 유의하세요:  
[https://discourse.example.com/users/{username}.json](https://discourse.example.com/users/%7Busername%7D.json)

---

<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: [10월 8, 2020, 8:27오후 UTC](https://meta.discourse.org/t/api-request-to-return-a-user-based-on-their-external-id/163413/4 "2020-10-08T20:27:54Z")

</div>

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