로그인하지 않은 상태에서 latest.json에 admin과 trustlevel 필드가 포함되어 있습니다

안녕하세요, 저희 Discourse 인스턴스에서 인증되지 않은 사용자에게 /latest.json (최신 주제) 응답 본문에 admin 및 trustlevel 필드가 표시됩니다.

예를 들어, /latest.json 목록의 사용자는 다음과 같이 표시됩니다:

{
  "users": [
    {
      "id": 32,
      "username": "Beeblebrox",
      "avatar_template": "/user_avatar/my-discourse.org/beeblebrox/{size}/1_1.png",
      "flair_name": null,
      "admin": true,
      "trust_level": 1
    }
  ],
  "primary_groups":[],
  "flair_groups":[],
  "topic_list":[]
}

사용자가 관리자인지 여부는 민감한 정보라고 생각합니다. 1. 인증되지 않은 사용자와 2. 모든 사용자에게 /latest.json 응답에서 a. admin 및 b. trust_level 필드를 표시하지 않도록 하는 것이 가능한가요?

그것이 바로 문제입니다. 제가 아는 한, 어디에서도 이를 민감한 정보로 취급하지 않습니다. 플러그인을 통해 사용자에게 관리자가 누구인지 숨기는 것은 가능합니다.

빠른 답변 감사합니다! 다음 문장에서 정확히 무슨 뜻인지 궁금합니다:

플러그인에서 관리자가 누구인지 사용자에게 숨길 수 있습니다.

플러그인은 특정 플러그인을 가리키는 건가요?

관리자 목록에서 내 사용자를 숨기는 플러그인을 하나 작성했습니다. 해당 JSON 로드에서도 내 사용자를 숨기는지 확신은 없지만, 그럴 가능성이 있을 것 같습니다.

이것은 더 큰 플러그인의 일부였기 때문에, 그 부분을 공개적으로 보유하고 있지는 않은 것 같습니다. 여기에 핵심 부분만 게시해 보거나, 예산이 있으시다면 저에게 연락을 주시면 대신 처리해 드리겠습니다.

그렇지 않습니다. 우리는 /about 페이지에서 이를 두드러지게 표시하고 있습니다. :smile:

제가 찾은 코드입니다. /admin 페이지에서만 관리자 권한을 제거하는 것으로 보입니다:

  require_dependency 'admin_constraint'
  add_to_serializer(:about, :admins) do
    object.admins.reject { |u|
      puts "REJECT: #{u.emails.first} "
      u.emails.first =~ HIDDEN_EMAIL_REGEXP
    }
  end

소개 페이지에 модератор(모더레이터)와 관리자가 나열되어 있다는 것을 몰랐습니다. 그래서 민감한 정보로 취급되지 않는다는 설명이 이해가 됩니다. 답을 찾았으니 빠른 답변 주셔서 감사합니다. 정말 감사드립니다!