oAuth2 ambiti e condizioni di filtro nell'URL

0

Ho un API come / v1 / api / data e due client, client_unrestricted e client_restricted.

L'api stessa è protetta da Oauth. Voglio registrare idealmente i client con OauthServer in modo che quando client_unrestricted effettua una richiesta, possa vedere tutti i dati. client_restricted effettua una richiesta e vede solo il sottoinsieme dei dati

Dovrei chiedere all'amministratore OAuth di registrare i client in modo che gli endpoint siano come questi

endpoint client client_unrestricted / v1 / api / data / {data-ids}? restricted = false client_restricted / v1 / api / data / {data-ids}? restricted = true Oppure OAuth Scopes può aiutarmi qui dove registro solo un endpoint / v1 / api / data ma varino gli ambiti per entrambi i client?

Ambito dell'endpoint client client_unrestricted / v1 / api / data restricted = false client_restricted / v1 / api / data restricted = true

    
posta jhon.smith 27.03.2018 - 01:40
fonte

1 risposta

1

In Oauth2, si limita il redirect_uri che può gestire la richiesta di accesso a cui è stato inviato l'utente dopo aver effettuato l'accesso al server di autorizzazione (AS).

Quindi dovresti registrare due client con l'admin di OAuth2, ognuno con il proprio redirect_uri. Ma questa è una difesa contro qualcuno che ruba il codice di autorizzazione mentre viene passato dal client all'API.

La limitazione dei dati su ciascun client è server, viene gestita utilizzando gli ambiti, come suggerito. In genere, è preferibile disporre di risorse API distinte che servono i diversi tipi (dati ristretti / non limitati) e fornire al client illimitato l'ambito necessario per utilizzare l'API senza limitazioni.

Qualcosa del genere:

  • / v1 / api / basicdata - disponibile con un ambito "basic_data" ottenuto da entrambi i client.
  • / v1 / api / restricteddata - disponibile con un ambito "limitato".
risposta data 27.03.2018 - 07:43
fonte

Leggi altre domande sui tag