external_id를 사용하여 API 응답 호출

SSO의 external_id를 사용하여 API를 통해 게시물에 답변할 수 있으며, 이를 통해 매번 external_id로 사용자 이름을 확인하는 단계를 생략할 수 있습니다.

아니요, 그렇게는 할 수 없습니다.

하지만 매번 결정할 필요는 없습니다. 호출 측에서 이를 캐싱하도록 결정할 수 있습니다.

사용자 A가 Discourse에서 이름을 변경했는데, 마침 사용자 B도 같은 시점에 이름을 변경하여 A의 이전 이름으로 바꿨다면, 캐시를 통해 A의 이름을 가져오는 경우 A의 답변이 B 사용자에게 연결될 수 있을까요?

네, 이론적으로 들릴 수 있지만 확실히 가능합니다. 사용자 ID를 기준으로 인증할 수 있으면 더 좋겠습니다.

user.updated에 웹훅을 설정해 해당 사용자의 캐시를 플러시하세요!

네, 이는 비교적 좋은 해결책이 될 수 있습니다. 감사합니다.
하지만 네트워크 변동으로 인해 웹훅(Webhook)에서 패킷 손실이 발생하여 캐시가 갱신되지 않을 가능성은 없는지 궁금합니다.
캐시 TTL을 통해 어느 정도 해결할 수 있지만, TTL이 만료되기 전까지는 여전히 문제가 발생할 수 있습니다.
결국 가장 안전한 방법은 external_id를 통해 정확한 사용자 이름을 조회하는 것입니다.
물론, 이는 모두 제 개인적인 추측에 불과합니다.

현재는 불가능하지만, 인증 코드를 수정하여 예를 들어 다음을:

api-username: external_id:BB111

다음과 동일하게 취급하도록 하는 자체 패치를 만들 수 있습니다:

api-username: bbaggins