REST API를 통해 user_associated_account 테이블에 행을 삽입하는 방법이 있을까요?
컨텍스트를 설명하자면, Discourse 인스턴스에서 사용자를 생성하고 해당 사용자를 우리의 OAuth2 제공업체와 연결할 수 있어야 합니다.
사용자가 Discourse UI( OAuth2 Basic 플러그인을 통해)에서 로그인하면 계정이 연결되고, GET /u/by-external/oauth2_basic/{external_uid}를 사용하여 외부 UID로부터 Discourse 사용자 ID를 가져올 수 있습니다.
그러나 REST API(POST /users.json)를 통해 사용자를 생성할 때, 해당 사용자의 계정을 해당 OAuth2 계정과 연결하는 방법을 찾지 못했습니다(사용자가 Discourse에서 수동으로 로그인하지 않는 경우).
참고로, OAuth2 basic 플러그인은 새로운 Auth::ManagedAuthenticator 시스템을 구현했습니다: Move to ManagedAuthenticator - Pull Request #21 - discourse/discourse-oauth2-basic - GitHub
시도해 본 내용:
- API 문서를 확인했지만 관련 단서를 찾지 못했습니다.
- 특정 사용자의 연결된 계정을 가져오기 위해 호출되는 API 라우트를 찾았습니다:
GET /u/{username}/emails.json. 하지만 이 라우트는 HTTPPUT메서드를 지원하지 않으며,user_associated_accounts테이블의 필드(provider_name,provider_uid,user_id)를 노출하지 않습니다. - 이 문제와 관련이 있을지 Discourse 설정도 확인해 보았지만 성공하지 못했습니다.
- meta.discourse.org를 검색해 보았지만 해결책을 찾지 못했습니다.
도움 주시면 감사하겠습니다. 감사합니다 ![]()