Me gustaría construir el siguiente proyecto:
- back-end de la API de REST pública a la que puede acceder cualquier cliente autenticado.
- front end con archivos estáticos en HTML / CSS / Javascript con Backbone.js jQuery llamadas al back end REST.
De hecho, hay tres partes en mi arquitectura: el front-end, que es un cliente del back-end, el back-end y el usuario que quiere autenticarse en la página de inicio de sesión del front-end.
¿Cuál es la mejor manera de proteger a las tres partes involucradas en esta arquitectura?
De hecho, creo que es simplemente imposible hacer una aplicación segura en el front-end si hago todo en javascript, así que tengo la intención de delegar la autenticación / autorización a una capa proxy en el front-end de mi servidor.
Mi problema es que no sé cómo realizar este flujo de trabajo con OAuth:
- un usuario desea crear una cuenta en el extremo delantero.
- el Front End delega la creación de la cuenta al REST back end.
- el back-end crea la cuenta y envía un agradecimiento al frente.
- entonces el usuario puede realizar llamadas que requieren autorización.
Y también quiero que mi back-end REST sea accesible a cualquier otra aplicación de terceros con OAuth.
¿Tendré que usar OAuth de 2 patas o de 3 patas en el extremo posterior de REST?
¿Puedo considerar mi Front End como una aplicación especial de terceros que tiene la capacidad de crear una cuenta de usuario?
¿Qué protocolo de seguridad puedo tener que usar en el front-end?