Je crée un serveur moins REST utilisant AWS API Gateway et AWS Lambda. Bien que les points de terminaison aient été créés et liés avec les fonctions Lambda correspondantes, l'étape suivante consiste à ajouter une couche d'authentification pour authentifier les utilisateurs par e-mail et mot de passe. D'après ce que j'ai pu comprendre de la documentation, les méthodes API Gateway peuvent prendre en charge l'accès basé sur les clés API ou l'accès basé sur IAM. Mais je ne pouvais pas comprendre comment implémenter en toute sécurité l'authentification à l'aide des clés API.
Dois-je créer un serveur pour faire l'authentification et gérer les utilisateurs? Existe-t-il un moyen pour que ce soit une application de bout en bout sans serveur complet? Toute ressource permettant de pointer dans la bonne direction sera très appréciée. Je regarde ce document en ce moment
Une annonce récente était API Gateway Custom Authorizers: http://docs.aws.Amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html
"vous pouvez contrôler l'accès à vos API à l'aide de stratégies d'authentification par jeton au porteur, telles que OAuth ou SAML. Pour ce faire, vous fournissez et configurez un autoriseur personnalisé, une fonction Lambda que vous possédez, pour API Gateway à utiliser pour autoriser les demandes des clients pour les API configurées "
Une autre bonne ressource qui, je pense, a été écrite avant la sortie de Custom Authorizer: https://auth0.com/docs/integrations/aws-api-gateway/part-2
AWS API Gateway peut également être authentifié à l'aide de clés API. Suivez les étapes ci-dessous: -
Ensuite, lorsque la passerelle API est appelée, la clé API doit être transmise en tant qu'en-tête.
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(new MediaType[]{MediaType.APPLICATION_JSON}));
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("x-api-key", apiKey);