Se sono un fornitore OAuth e voglio consentire all'utente di limitare le app solo a un sottoinsieme di risorse (ad esempio, solo le risorse nella cartella X), qual è il meccanismo giusto per farlo? Sembrerebbe che gli Scopes lo siano, ma per questo non trovo nessun precedente.
Spesso vedo gli ambiti implementati come diverse autorizzazioni , ad es. "sola lettura" o "lettura-scrittura". Si tratta spesso di classificazioni molto approssimative e richiedono che se sia necessario un accesso approfondito a un determinato insieme di risorse, esso debba essere esteso anche in modo tale che si ottenga l'accesso in lettura e scrittura a tutto anche se è necessario modificare solo una cosa.
A volte vedo gli ambiti implementati come categorie di risorse per accedere, ad es. "foto" o "indirizzo email". Questo ha senso solo se disponi di un insieme di categorie di risorse significative, predefinite e definite.
Quando guardo gli ambiti di Google Drive , ad esempio, sembra che non ci sia modo di limitare l'app accesso a una raccolta di file. Mi scuso se non sto guardando abbastanza bene, ma questo sembra essere molto utile e semplicemente non esiste. Drive ha un ambito "per file" ma ha un comportamento molto specifico a cui non sono interessato.
In qualità di fornitore OAuth, quali sono gli argomenti per / contro la creazione di ambiti per le risorse create dall'utente? Cioè, perché Google non può consentire un ambito per ciascuna delle cartelle dell'utente? Presumibilmente, l'app avrebbe bisogno dell'autorizzazione per elencare prima le cartelle in modo che l'utente potesse selezionarle, quindi l'app potrebbe richiedere ulteriori autorizzazioni alle cartelle. Ciò significherebbe più finestre di dialogo di OAuth, quindi posso immaginare che la risposta sia semplicemente difficile da fare una buona esperienza. Ho avuto difficoltà a trovare discussioni su questi compromessi altrove.