Per quanto ne so, richiedere l’accesso amministratore per /site/settings.json e alcune informazioni in /site.json è un comportamento atteso di Discourse.
Discussion Bridge e integrazioni simili necessitano di un insieme limitato di informazioni sulla configurazione del sito per la diagnostica di routine, la pianificazione e la sincronizzazione. Al momento, questo potrebbe richiedere l’utilizzo di una chiave API associata a un amministratore. Una chiave admin di sola lettura impedisce le scritture, ma può comunque esporre tutto ciò che l’amministratore può leggere. Una chiave admin globale comporta un rischio inutilmente elevato per le operazioni quotidiane delle macchine.
Discourse potrebbe fornire:
- Un ambito di chiave API granulare che conceda agli utenti di integrazione non amministratore l’accesso in lettura a un sottoinsieme appropriato e sicuro di
/site.jsone/site/settings.json; oppure - Un endpoint separato contenente le informazioni di configurazione non sensibili di cui le integrazioni hanno comunemente bisogno?
Discourse supporta già le chiavi API utente per gli utenti regolari, ma questo non risolve il caso in questione: una chiave può esercitare solo i permessi che l’utente associato possiede già. La richiesta è quindi specificamente per un’autorizzazione sicura non amministrativa ai dati di configurazione del sito limitati di cui le integrazioni hanno bisogno — non semplicemente un altro modo per generare una chiave.
L’obiettivo non è esporre le impostazioni amministrative private. È consentire a un account di integrazione non amministratore autorizzato di ispezionare la struttura del sito e le impostazioni operative di cui ha bisogno senza richiedere credenziali di livello amministratore di routine.
Ciò ridurrebbe il rischio di credenziali, supporterebbe integrazioni con privilegi minimi e renderebbe più facile operare in modo sicuro con strumenti macchina-a-macchina duraturi.
Contesto: Confirming API Access to Authoring Limit Site Settings