Come posso esporre in sicurezza gli endpoint dell'API Web per i dati privati dell'utente?

0

Sto costruendo un'applicazione web in cui gli utenti CRUD hanno i propri dati privati.

  1. Posso esporre in sicurezza gli endpoint dell'API?

Nonostante anni di in-industry e ricerca web infinita, non sono chiaro sulla migliore architettura e su come garantire in modo più efficiente la sicurezza dei dati dell'utente. I requisiti più elementari includono: autorizzazione dell'utente, visualizzazione / aggiunta / aggiornamento dei propri dati. Ho già scritto una versione 1 dell'app e vorrei sviluppare una versione 2 da zero. L'esposizione degli endpoint API potrebbe aiutare a isolare il mio sviluppo front-end e back-end. La sicurezza è ancora possibile se voglio un'app di front-end pure js?

    
posta Geoffrey Hale 24.01.2017 - 19:15
fonte

1 risposta

3

Non sono sicuro che tu stia chiedendo di proteggere ogni singolo punto dell'API, ma quello che farei sarebbe utilizzare un proxy inverso (ad esempio, Nginx) con crittografia TLS che potrebbe coprire sia il tuo server front-end e back-end. In questo modo sai che i dati degli utenti non vengono compromessi prima che raggiungano l'API.

La prossima cosa è l'autenticazione utente & autorizzazione. Ci sono molti pacchetti di identità pronti per la produzione pronti per la maggior parte delle piattaforme (non implementare le proprie se non si è sicuri di quello che si sta facendo, e anche allora potrebbe essere una buona idea sceglierne una che è già in circolazione da un po '). Ma le basi sono che autenticate il vostro utente rispetto al vostro database, date all'utente un token di qualche tipo e chiedete all'utente di usare quel token per fare richieste successive. E poiché la tua API è crittografata (tutto tranne l'indirizzo di base viene crittografato finché un messaggio non colpisce il tuo server), puoi inviare questo token al tuo utente senza timore. Un luogo molto comune per trasportare il token è utilizzare l'intestazione HTTP 'Autorizzazione'.

    
risposta data 24.01.2017 - 19:44
fonte

Leggi altre domande sui tag