La rappresentazione delle risorse può dipendere dall'identità?

1

Se alcune risorse su una RESTful api devono essere protette, possiamo farlo usando OAuth per esempio, e poi se non ci sono token sulle intestazioni della richiesta (cioè nessuna identità) restituiamo un codice di stato 401, e se ci viene restituita qualche rappresentazione.

Il mio dubbio è il seguente: considerando l'identità di chi sta richiedendo la risorsa (in particolare sto pensando di usare l'identità basata sulle attestazioni), è giusto restituire una rappresentazione della risorsa che cambia con l'identità?

Quindi, ad esempio, per una richiesta da parte di qualcuno con un determinato insieme di attestazioni, restituiamo una rappresentazione contenente un insieme di dati e una serie di collegamenti. Se la richiesta proviene da qualcuno con un altro insieme di clausole, l'insieme di dati cambia e quindi i collegamenti. Se qualcuno non ha identità di sorta, restituiamo anche un'altra rappresentazione. Quindi fondamentalmente controlliamo chi può vedere e può fare cosa con ciascuna risorsa.

È qualcosa di utile da fare, o c'è qualche problema che non vedo?

    
posta user1620696 09.02.2015 - 23:35
fonte

1 risposta

2

Non c'è niente di sbagliato nel farlo. Immagina una lista di messaggi che vengono mostrati solo ad alcuni gruppi di utenti: una persona vedrebbe una risposta specifica, un'altra vedrà più messaggi; un amministratore probabilmente vedrà ogni possibile messaggio; un ospite non vedrà nulla.

Dovresti fare attenzione però. Se la forma della risposta cambia radicalmente e ci sono troppe rappresentazioni diverse della stessa risorsa, potrebbe essere eccessivamente complicato costruire un client per tale API, poiché il client dovrebbe gestire tutte quelle diverse rappresentazioni e essere in grado, in qualche modo, di rilevare quale rappresentazione viene utilizzata al momento (si spera che possa fare affidamento sul codice di risposta HTTP).

    
risposta data 10.02.2015 - 01:05
fonte

Leggi altre domande sui tag