Wie authentifiziere ich API-Gateway-Anrufe mit Facebook?

9

Hier ist, was ich habe -

Problem: Ich möchte meine Amazon API Gateway gehosteten REST API-Benutzer mit Facebook-Authentifizierung autorisieren.

Mein Verständnis: Ich weiß, dass Amazon Cognito zur Authentifizierung von Benutzern verwendet werden kann, die als föderierte Identitäten aufrufen. Dann sah ich Authentifizieren von API-Clients mit Amazon Cognito Your User Pool , die sich für Cognito User Pool authentifiziert. Ich fand auch Amazon API Gateway Custom Authorizers verwenden, um benutzerdefinierte zu verwenden Genehmigung. Aber ich habe nicht gefunden, API Gateway zu verbinden, um mich mit Cognito Federated Identities (d. H. Facebook hier) zu authentifizieren. Können wir dasselbe Verfahren wie Benutzerpool für föderierte Identitäten verwenden gut oder sollte ich wie in Custom Authorizers verwenden? Ich bin ein bisschen verwirrt. Jede Hilfe wird sehr geschätzt.

Vielen Dank im Voraus.

    
inblueswithu 27.08.2016, 18:28
quelle

1 Antwort

11

Cognito föderierte Identitäten und Cognito-Benutzerpools richten sich an verschiedene Anwendungsfälle.

Mit Cognito-Benutzerpools verwalten Sie explizit die Benutzer, die auf Ihren Service zugreifen können. Dies ist nützlich, wenn Sie den Zugriff auf Ihre API auf eine feste Gruppe von Benutzern beschränken möchten.

Mit Cognito föderierten Identitäten delegieren Sie die Benutzerverwaltung an einen Identitätsanbieter wie Facebook, Google oder Amazon. In diesem Fall kann jeder mit einer Benutzeridentität für den ausgewählten Identitätsanbieter auf Ihren Dienst zugreifen. Dies ist nützlich, wenn Sie Ihre API allgemein verfügbar machen möchten, aber dennoch individuelle Identitäten mit Ihren API-Benutzern verknüpfen müssen, um den Status oder die Ressourcen je Benutzer zu verwalten.

Um eine föderierte Identität zu verwenden, legen Sie fest, dass die API-Gateway-Methode die Berechtigung "AWS_IAM" verwendet. Sie verwenden Cognito, um eine Rolle zu erstellen und sie Ihrem Cognito-Identitätspool zuzuordnen. Anschließend verwenden Sie den IAM-Dienst (Identity and Access Management), um dieser Rolle die Berechtigung zum Aufrufen Ihrer API-Gateway-Methode zu erteilen.

    
MikeD at AWS 27.08.2016, 21:05
quelle