Mi piacerebbe costruire il seguente progetto:
- back-end dell'API REST pubblico a cui è possibile accedere da qualsiasi client autenticato.
- front end con file statici in HTML / CSS / Javascript con Backbone.js jQuery chiama al back-end REST
In realtà, ci sono tre parti nella mia architettura: il front-end, che è un client del back-end, il back-end e l'utente che vuole autenticarsi sulla pagina di login front-end.
Qual è il modo migliore per proteggere le tre parti coinvolte in questa architettura?
In effetti, credo che sia impossibile fare un'app sicura sul front end se faccio tutto in javascript, quindi intendo delegare l'autenticazione / autorizzazione a un livello proxy sul front-end del mio server.
Il mio problema è che non so come eseguire questo flusso di lavoro con OAuth:
- un utente desidera creare un account sul front-end.
- il front-end delegherà la creazione dell'account al back-end REST.
- il back-end crea l'account e invia una richiesta in primo piano.
- quindi l'utente può eseguire chiamate che richiedono l'autorizzazione.
E voglio anche che il mio back end REST sia accessibile a qualsiasi altra applicazione di terze parti con OAuth.
Dovrò utilizzare OAuth a 2 o 3 vie sul back-end REST?
Posso considerare il mio front-end proprio come un'applicazione speciale di terze parti che ha la possibilità di creare un account utente?
Quale protocollo di sicurezza devo usare sul front-end?