ID 제공자의 '외부 ID'로 사용자 찾기

:bookmark: 이 가이드는 API 호출을 사용하여 ID 제공자의 external_id를 기반으로 Discourse 사용자를 찾는 방법을 설명합니다.

:person_raising_hand: 필요한 사용자 권한: 관리자

외부 인증 시스템을 사용할 때, Discourse는 두 가지 사용자 ID를 추적합니다: Discourse의 user_id와 ID 제공자의 external_id입니다. external_id를 기반으로 Discourse 사용자를 조회해야 하는 경우, 이 howto(사용법) 글이 적합합니다! 아래에서 이 작업을 수행하는 방법을 배울 수 있습니다.

API 설정

먼저, 관리자 API 키가 올바르게 구성되었는지 확인하십시오. Discourse API 설정 및 사용에 대한 자세한 내용은 Discourse API 문서를 참고하십시오.

DiscourseConnect

DiscourseConnect(구 Discourse SSO)를 사용 중인 경우, 다음 API 호출로 사용자를 가져올 수 있습니다:

curl https://myforum.example.com/u/by-external/{external-id}.json \
     -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
     -H "Api-Username: discourse1"

{external-id}를 찾으려는 사용자의 실제 외부 ID로 교체하십시오. 사용자가 발견되면 해당 정보가 반환됩니다. 발견되지 않으면 404가 반환됩니다.

기타 인증 제공자

이는 모든 핵심 방법 및 “ManagedAuthenticator” 프레임워크를 사용하는 플러그인( discourse-openid-connect 및 discourse-oauth2-basic 포함)에 적용됩니다.

먼저, 인증기의 ‘provider name’(제공자 이름)을 찾으십시오. 이는 일반적으로 콜백 URL에 포함되어 있습니다(예: 콜백 URL이 /auth/oauth2_basic/callback이면 제공자 이름은 oauth2_basic입니다).

그런 다음 다음과 같이 사용자를 가져올 수 있습니다:

curl https://myforum.example.com/u/by-external/{provider}/{external-id}.json \
     -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
     -H "Api-Username: discourse1"

{provider}를 실제 제공자 이름으로, {external-id}를 찾으려는 사용자의 외부 ID로 교체하십시오. 사용자가 발견되면 해당 정보가 반환됩니다. 발견되지 않으면 404가 반환됩니다.

추가 자료

15개의 좋아요