Sto costruendo un'API che restituisce dati sulle aziende Più applicazioni accederanno all'API, alcune di queste applicazioni avranno accesso a una società, alcune a più società. Quando viene ricevuta una richiesta di dati, viene inviato anche un ApplicationApiKey. Controllo se ApiKey ha accesso ai dati dell'azienda. Questo funziona perfettamente per le applicazioni a cui è consentito l'accesso a una società, tuttavia un ApplicationApiKey può avere accesso a più società.
Un utente di Company1 può accedere all'applicazione e inviare una richiesta al collegamento . L'utente può aggiornare il parametro ticket a un numero diverso. Questo potrebbe essere il numero di biglietto di una società diversa a cui l'Applicazione è autorizzata ad accedere ma l'utente che ha effettuato l'accesso non lo è. Come posso impedire agli utenti di modificare questo URL con un numero di ticket di una società diversa?
Questi sono i miei pensieri finora:
- È sufficiente avere la mia API accessibile solo tramite SSL
- Chiedere allo sviluppatore dell'applicazione di crittografare i parametri. link , Questo sembra fattibile per le richieste GET ma per quanto riguarda i POST.
- Non è un mio problema, è fino allo sviluppatore dell'app (fino a quando succede qualcosa quando sarà)
- Il mio intero processo è sbagliato, dovrebbe essere un APIKey per azienda (ma questo non è possibile in quanto le applicazioni possono aggiungere e rimuovere utenti di diverse società)
Grazie per eventuali risposte