2017-04-25 3 views
-3

Je suis fan de l'utilisation de cloudfront + s3 pour servir des sites statiques. J'ai un cas d'utilisation où j'ai besoin d'exécuter un site en s3, mais j'ai besoin d'authentification. Je voudrais être capable de gérer cela de manière sans serveur, mais j'ai besoin d'une sorte d'application pour gérer la logique d'authentification.node.js comme authentification frontale pour cloudfront + s3

Mon idée est que je pourrais exécuter une application node.js sur quelque chose comme beanstalk élastique devant cloudfront pour gérer l'authentification.

Fondamentalement, un utilisateur fait une demande à l'application, mon application authentifie l'utilisateur avec notre backend d'authentification, crée un cookie le renvoie et sert ensuite l'URL cloudfront privé pour la ressource demandée. Suis-je sur la bonne voie ici?

L'idée est d'avoir un site Web s3 fermé qu'un utilisateur peut naviguer après s'être authentifié. Je pense que cela pourrait être réalisé en utilisant le nœud http et le passeport pour s'authentifier, puis utiliser aws sdk pour créer le cookie signé.

+1

Quelle est votre véritable question? S'il vous plaît garder à l'esprit que large question que l'invitation à une discussion opiniâtre sont hors sujet pour Stack Overflow (voir [demander]) –

Répondre

1

Oui. C'est logique. Selon votre cas d'utilisation, il peut être suffisant d'utiliser AWS API Gateway + Lambda pour la page de connexion et l'authentification (au lieu de elastic beanstalk).

AWS a également récemment annoncé Lambda @ Edge, un moyen d'exécuter des fonctions Lambda en réponse à des événements Cloudfront. Cela pourrait fonctionner pour ce que vous décrivez - http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/http-response-generation.html

+0

Cool cool. Je pense que Lambda edge ne permet pas les appels réseau externes, mais la passerelle Lambda + api pourrait probablement faire l'affaire. – yossarian2004