Qual è il modo idiomatico in REST per gestire le autorizzazioni a livello di campo?

2

Le API REST espongono convenzionalmente le risorse indirizzate a livello di oggetto. Mentre è facile eseguire permessi a livello di oggetto usando le risposte HTTP appropriate, la gestione delle autorizzazioni a livello di campo è un po 'meno chiara.

Immagina l'app ipotetica che espone l'oggetto utente. Pubblicamente, vuoi mostrare qualche sottoinsieme dei campi, per l'utente stesso dovrebbero essere mostrati tutti i campi.

Le versioni pubbliche e private dovrebbero essere endpoint diversi o è ragionevole restituire un set di campi diverso a seconda delle autorizzazioni?

    
posta Catskul 06.03.2015 - 20:27
fonte

1 risposta

2

Una risorsa è una risorsa. La risorsa non cambia semplicemente perché le autorizzazioni cambiano. Quello che puoi fare con la risorsa o quello che puoi sapere sulla risorsa potrebbe cambiare, ma la mappatura della risorsa non cambia. Se lo fa diventa un diverso tipo di risorsa. Pertanto, nella descrizione, è ipotizzabile che esistano varie proprietà a qualsiasi accesso della risorsa utente, ma solo alcune proprietà saranno disponibili in base alle autorizzazioni dell'accompagnatore. Le proprietà inaccessibili sarebbero semplicemente nulle.

    
risposta data 06.03.2015 - 20:36
fonte

Leggi altre domande sui tag