Soy fanático de usar cloudfront + s3 para servir sitios estáticos. Tengo un caso de uso en el que necesito ejecutar un sitio en s3, pero necesito autenticación. Me gustaría poder manejar esto sin servidor, pero necesito algún tipo de aplicación para manejar la lógica de autenticación.
Mi idea es que podría ejecutar una aplicación node.js en algo como un tallo elástico frente a la nube para manejar la autenticación.
Básicamente, un usuario realiza una solicitud a la aplicación, mi aplicación autentica al usuario con nuestro backend de autenticación, crea una cookie que la devuelve y luego sirve la URL privada de la nube para el recurso solicitado. ¿Estoy en el camino correcto aquí?
La idea es tener un sitio web s3 cerrado que un usuario pueda navegar después de la autenticación. Creo que esto podría lograrse usando el nodo http y el pasaporte para autenticarse y luego usar el sdk de aws para crear la cookie firmada.
Sí. Esto tiene sentido.
Según su caso de uso, podría ser suficiente usar AWS API Gateway + Lambda para la página de inicio de sesión y la autenticación (en lugar de frijoles elásticos).
Además, AWS anunció recientemente Lambda@Edge, que es una forma de ejecutar funciones de Lambda en respuesta a eventos de Cloudfront. Eso podría funcionar para lo que está describiendo: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/http-response-generation.html