Configurer la SCRO en-têtes de réponse sur AWS Lambda?
Je suis en train de créer un nouveau service à l'aide d'API AWS Passerelle, mais j'ai découvert le navigateur appelle automatiquement les OPTIONS de méthode afin d'obtenir de la SCRO de l'information.
Le problème, c'est que API AWS Passerelle n'offre pas de façon "native" pour configurer la SCRO-têtes.
Est-il possible de créer un Lambda de Script afin de répondre à la méthode des OPTIONS?
Avez-vous de prendre un coup d'oeil à Activer la SCRO pour une Méthode dans l'API Gateway? Ne que pas de travail?
OriginalL'auteur Alessandro Oliveira | 2015-08-10
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez
{proxy+}
point de terminaison, vous devez gérer la SCRO requêtes HTTP dans la fonction Lambda. La mise en œuvre dépend du framework que vous utilisez. Pour l'Express, la solution la plus simple est d'utiliser simplement Express de la SCRO middleware.Si vous ne voulez pas gérer
CORS
demandes parLambda
, essayez de modifier les paramètres de votreLambda Method
pour gérerCORS
sur leAPI Gateway
niveau.Voici détaillée tutoriel officiel pour De la SCRO le programme d'installation sur AWS Passerelle API.
Il est également essentiel que vous permettre d'en-tête
X-Api-Key
dansAccess-Control-Allow-Headers
sinon auth ne fonctionnera pas et vous obtiendrez des erreurs.EDIT: En novembre 2015, la Passerelle API équipe a ajouté une nouvelle fonctionnalité à simplifier la SCRO le programme d'installation.
Je suis d'accord, aws docs dit que pour proxy configurations, la réponse doit venir du http backend, ce qui devrait ce regard comme pour le nœud/express?
Essayez de créer un
{proxy+}
point de terminaison et de disposer de toutes les demandes transmises à la fonction Lambda.Cette réponse n'est pas correcte, comme indiqué ci-dessus. Celui-ci doit être marqué.
Cette réponse est correcte. Cependant Lambda-niveau de configuration n'est nécessaire pour {proxy+} les points de terminaison car toutes les demandes sont tout simplement passé à travers de la Passerelle API.
OriginalL'auteur kixorz
Si vous avez des lambda-proxy est activé, vous devez définir la SCRO-têtes manuellement:
https://serverless.com/framework/docs/providers/aws/events/apigateway#enabling-cors
OriginalL'auteur sqren
Si vous utilisez JQuery $.ajax, il va envoyer le X-requested-with avec le POSTE à la suite de la demande d'OPTIONS, vous devez donc vous assurez-vous lors de la configuration de vos OPTIONS de contrôle d'accès-acceptez-les en-têtes API AWS d'inclure l'en-tête: X-requested-with avec les autres.
OriginalL'auteur jomamaxx