API scope per testi personalizzati

Il caso d’uso consiste nella sincronizzazione con la traduzione – vedi

Vorrei fornire una chiave API che possa leggere e scrivere testi personalizzati, ma senza la possibilità di fare nient’altro.

Sebbene la lettura di tutte le stringhe sovrascritte sia probabilmente innocua, sarebbe anche utile aggiungere ulteriori restrizioni alle scritture basate su una lingua primaria — nel mio caso, l’inglese. Ciò:

  1. impedirebbe la scrittura di stringhe in quella lingua
  2. consentirebbe la scrittura di stringhe in altre lingue solo se la stringa nella lingua primaria non è predefinita
  3. consentirebbe il ripristino delle stringhe in lingue non primarie ai loro valori predefiniti

(La terza regola consentirebbe il ripristino anche se la stringa nella lingua primaria è personalizzata; ciò consentirebbe la rimozione delle traduzioni se necessario per qualche motivo.)

Semplicemente uno scope che limita l’accesso solo a /admin/customize/site_texts sarebbe un buon primo passo. Tuttavia, ulteriori restrizioni (configurabili) sulle scritture di site_text[locale], e persino su determinati site_text[value], sembrano alla fine importanti, perché se una tale chiave trapela o viene rubata potrebbe essere utilizzata per deturpare un sito (o inserire link di spam molto subdoli, ecc.).