... the Dropbox PHP SDK requires you to put your API credentials in a
JSON file that might be publicly available if the SDK code is placed
within the DOCUMENT_ROOT directory.
Questo non è assolutamente vero. Penso che alcune delle app di esempio utilizzino un file JSON nelle vicinanze per memorizzare varie credenziali per comodità, ma non c'è nulla nell'SDK che richiede di farlo. (Puoi memorizzare il file JSON altrove, e il costruttore per AppInfo
prende una chiave e un segreto, quindi puoi gestirli come vuoi.)
Per la maggior parte delle app non è probabilmente un grosso problema esporre l'app segreta, ma scoraggerei comunque gli sviluppatori dal farlo.
Per ulteriori informazioni, cerca le discussioni sull'esposizione dei segreti dei consumatori OAuth. In particolare, le app per dispositivi mobili in genere do espongono tali segreti (almeno in OAuth 1), quindi è stata discussa in modo adeguato le implicazioni sulla sicurezza.