Latest.json contiene i campi admin e trustlevel - quando non si è connessi

Ciao, la nostra istanza Discourse mostra i campi utente admin e trust_level nel corpo della risposta di /latest.json (ultimi argomenti) per gli utenti non autenticati.

Ad esempio, un utente nell’elenco /latest.json appare come:

{
  "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": []
}

Se un utente è amministratore è un’informazione sensibile secondo me; è possibile non mostrare il campo a. admin e b. trust_level nella pagina di risposta di /latest.json per 1. utenti non autenticati e 2. tutti gli utenti?

Questo è il problema. Non viene trattato come sensibile da nessuna parte di cui sono a conoscenza. È possibile nascondere agli utenti chi sono gli amministratori tramite un plugin.

1 Mi Piace

Grazie per la rapida risposta! Cosa intendi esattamente con:

È possibile nascondersi dagli utenti che gli amministratori sono su un plugin.

un plugin è un plugin specifico?

Ne ho scritto uno che nasconde il mio utente dall’elenco degli amministratori. Non sono del tutto sicuro che nasconda il mio utente da quel caricamento JSON, ma penso che potrebbe?\n\nFaceva parte di un plugin più grande, quindi non credo di avere quella parte disponibile pubblicamente. Posso provare a pubblicare le parti chiave qui, o puoi contattarmi se hai un budget e vuoi che lo faccia per te.

Non lo è. Lo mettiamo anche in evidenza nella pagina /about :smile:

3 Mi Piace

Ho trovato il mio. Sembra che rimuova l’admin solo dalla pagina /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
2 Mi Piace

Non sapevo che la pagina “Informazioni” elenchi moderatori e amministratori, quindi questo spiega perché non viene trattata come informazione sensibile. Ho la mia risposta, grazie a tutti per le risposte rapide, molto apprezzate!

2 Mi Piace