2017-07-15 1 views
0

J'utilise l'authentification AWS Cognito dans mon application Web. J'ai un backend PHP avec l'API REST. Après l'authentification de l'utilisateur, je fais des demandes à AWS API Gateway en utilisant this library. Les méthodes API Gateway ont un type d'intégration HTTP. Ils envoient des requêtes HTTP à mon backend PHP. Comment obtenir Cognito Identity Id dans mon backend PHP? Je dois définir une référence de relation avec l'utilisateur Cognito dans mon backend.Comment obtenir l'ID d'identité Cognito dans le backend demandé par AWS API Gateway?

Répondre

2

API Gateway rend l'ID d'identité de l'appelant disponible dans le request context. En supposant que vous utilisez Cognito Identity Pool (fédération), vous recherchez cette propriété: $context.identity.cognitoIdentityId.

Vous pouvez configurer API Gateway pour envoyer la valeur de l'ID d'identité dans un nouvel en-tête à votre backend. Pour ce faire, vous devez:

  1. Ouvrez le volet de la demande d'intégration de la configuration de la méthode
  2. Développez la section en-têtes HTTP et cliquez sur le lien
  3. « Ajouter en-tête » Donnez-vous en-tête d'un nom, comme X-Cognito-Identity-Id
  4. Dans le champ "mappé de", utilisez l'expression suivante: context.identity.cognitoIdentityId
  5. Utilisez le lien de coche sur la droite pour enregistrer les modifications de configuration.

Redéployez l'API et votre backend PHP devrait commencer à recevoir l'en-tête supplémentaire rempli avec l'ID d'identité Cognito de la demande d'origine.