아래 접근 방식으로 현재 로그인된 사용자의 SSO 기록에서 external_id에 접근하는 데에는 문제가 없습니다:
api.getCurrentUser().external_id
그러나 현재 로그인된 사용자가 다른 사람의 프로필 요약(예: Person X)을 보고 있을 때 사용할 버튼/링크가 있습니다. 이 external_id는 우리 웹사이트에서 리다이렉트와 작업을 수행할 때 사용할 주요 식별자입니다. 관리자 사용자 API는 작동하지만, 당연히 비관리자 사용자 계정에는 적용되지 않습니다.
# 플러그인의 after_initialize 블록 안
after_initialize do
# 수정: `SiteSetting.enable_discourse_connect`가 `true`를 반환하는지 확인하는 것도 좋은 방법입니다.
add_to_serializer(:user, :external_id) {object&.single_sign_on_record&.external_id}
end
external_id는 user의 속성이 아니라 single_sign_on_record의 속성입니다. 다음 코드를 다뤄본 적이 있어서 기억하고 있습니다: