사용자 ID(사용자 이름이 아닌)로 API를 통해 사용자를 업데이트하는 방법은?

애플리케이션에서 사용자의 연결된 Discourse 계정을 업데이트하고 싶습니다. 구체적으로는 사용자의 표시 이름과 사용자가 속한 그룹(예: 내 애플리케이션에서 승격되면 포럼의 다른 그룹에도 추가되는 경우)을 업데이트하는 것입니다.

내 애플리케이션의 users 테이블에 “discourse member id” 참조를 저장하고, 이를 사용하여 업데이트를 수행할 것으로 예상했습니다. 예를 들어 {"name": "new name"}와 같은 페이로드와 함께 POST /users/{id}.json을 호출하는 방식입니다. 하지만 모든 API 라우트가 id 대신 username을 기대하는 것으로 보입니다.

이것이 기본값인 이유가 무엇인지 이해가 되지 않습니다. 사용자가 사용자명을 변경할 수 있지 않나요? 그렇게 되면 통합이 깨질 것 같습니다.

일관된 식별자(예: id)를 사용하여 이러한 변경 사항을 안정적으로 수행하는 방법은 무엇인가요?

지금으로서는 두 개의 API 요청을 보내는 것이 가장 좋은 방법이라고 생각합니다. 하나는 id로 사용자 가져오기를 통해 사용자 이름을 얻기 위한 것이고, 다른 하나는 사용자 이름으로 업데이트하기 위한 것입니다.

external_id로 사용자를 업데이트할 수 있는 옵션이 있지만, 싱글사인온(SSO)이 활성화되어 있지 않으면 사용할 수 없다고 생각합니다. 이 방식은 Discourse가 다른 방식과 달리 사용자 이름 대신 애플리케이션의 사용자 id를 저장합니다.

감사합니다. 게시글을 올린 후에 저도 비슷한 깨달음을 얻었습니다.