1

Ich arbeite an einer Web App, wo sich Benutzer mit ihren persönlichen E-Mail-Adressen einloggen/anmelden können oder sich mit föderierten Identitäten wie Facebook/Twitter einloggen können. Ich habe den Cognito-Benutzerpool und den Identitätspool für denselben Benutzer eingerichtet.API Gateway Autorisierung für Cognito Benutzerpool + Identitätspool

Nach der erfolgreichen Anmeldung werden die APIs auf dem API-Gateway aufgerufen, um einige Daten der Anwendung anzuzeigen. Ich möchte die Autorisierung für jeden API-Aufruf implementieren und die Antwort nur für autorisierte Benutzer zurückgeben.

Ich habe User Pool Authorizer im API Gateway erstellt und bin in der Lage Benutzer, die in Userpool erstellt wurden, basierend auf dem Id Token zu authentifizieren.

Nach meinem Verständnis, um Benutzer aus Identität Pool zu authentifizieren, kann ich AWS_IAM in Api Gateway verwenden. AWS_IAM ist möglicherweise nicht die richtige Lösung für meine Anwendung, da die API vom Benutzer in Userpool und im Identity Pool aufgerufen werden kann.

Ich denke über die Implementierung der Authentifizierung mit Custom Authorizer mit Lambda-Funktionen.

Wenn Custom Authorizer implementiert werden muss, sollte das Validieren des Richtliniendokuments basierend auf dem Sitzungstoken ausreichen, um die Benutzer von beiden Userpool/Identity Pool zu validieren? Bitte schlagen Sie gegebenenfalls Alternativen für benutzerdefinierte Autorisierung vor.

Vielen Dank im Voraus

Antwort

0

Kennen Sie diesen Blogbeitrag? https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/

Es ist möglich, Ihre Cognito-Benutzerpooltoken direkt als Autorisierung für API Gateway zu integrieren, und der von Ihnen beschriebene Ablauf wird vereinfacht.

+0

Danke für Ihre Eingabe. Ich habe diesen Beitrag bereits durchgelesen. Dies ist spezifisch für die Authentifizierung von Benutzern aus nur Userpool. Aber meine Anwendung hat Benutzer aus Userpool sowie Identity-Pool. – Rahul

+0

Ah, verstanden. Nun, Sie könnten Benutzerpool-Logins durch Ihren Identitätspool trichtern. Es ist möglich, es parallel zu Facebook als einen anderen Anbieter einzurichten, also tauschen beide einen Token für Anmeldeinformationen aus. Das würde Ihnen erlauben, den gleichen Authorizer zu verwenden. Ein APIGW-Teammitglied schrieb diese Antwort, die es ein wenig beschreibt: https://stackoverflow.com/questions/39184419/how-to-authenticate-api-gateway-calls-with-facebook/39185749#39185749 –

Verwandte Themen