Come fornire una sicurezza API granulare utilizzando gli ambiti e le attestazioni OAuth

2

Sto cercando di individuare il modo migliore per proteggere un'API utilizzando gli ambiti o le rivendicazioni oAuth. Non sono sicuro su cosa dovrei usare.

La mia configurazione è la seguente:

  • Tutti gli utenti eseguono l'accesso a signin.domain.com

  • Esistono più client www.domain.com e admin.domain.com

  • Esiste un server di risorse api.domain.com

  • Esistono più ambiti data.read e data.write

  • www.domain.com richiede un scope data.read e admin.domain.com richiede entrambi gli ambiti data.read e data.write

  • Alcuni utenti che sono amministrazioni devono essere in grado di scrivere dati (ad esempio POST su api.domain.com) ma tutti gli utenti autenticati possono leggere.

A quanto ho capito, gli utenti che accedono utilizzando il client www.domain.com non riceveranno un token contenente l'ambito data.write anche se il client lo richiede.

Ho letto che gli ambiti sono tipi di categorie di rivendicazioni [1]. Questo significa che se un client richiede un ambito specifico ho bisogno di popolare il token con tutte le attestazioni correlate a quell'ambito?

Da lì il mio server delle risorse controlla se l'utente ha il reclamo corretto?

Oppure, il server delle risorse controlla che il token abbia l'ambito corretto in esso?

In entrambi i casi, non è possibile assegnare gli scope agli utenti, solo ai client e non è sufficiente dire "accesso dell'utente tramite client x in modo da ottenere i permessi di scrittura". Quindi sembrerebbe che la mia prima ipotesi sembra l'unica corretta.

Sarei grato se qualcuno potesse chiarire come utilizzare gli ambiti e le attestazioni per fornire accesso API granulare,

Fonti:

[1] link

    
posta Remotec 19.11.2018 - 13:56
fonte

0 risposte

Leggi altre domande sui tag