wake-up-neo.com

Wie richten Sie einen OAuth2-Authentifizierungsanbieter mit AWS API Gateway ein?

AWS verfügt über ein API-Gateway , das das Einrichten, Verwalten und Überwachen Ihrer API recht einfach macht .. __ Die Einstellungen für die Sicherheitsautorisierung, die Sie für Ressourcenmethoden festlegen können, sind jedoch auf AWS-IAM beschränkt (was dazu gehört) Mein Verständnis ist eine interne VPN-Rolle?). 

Es scheint, dass meine Recherche zu diesem Thema mich auf die Einrichtung eines AWS Cognito-Pools hingewiesen hat. Wenn ich jedoch einen in meiner aws-Konsole konfiguriere, sind die Optionen für Provider folgende Optionen: Amazon, Facebook, Google+, Twitter, OpenID und Custom. Ich würde wohl in diesem Fall Custom verwenden? Richten Sie dann meine eigene EC2-Instanz als OAuth2 Authentication Provider Server ein. 

Da Oauth2 heutzutage so beliebt ist, überrascht es mich, dass es dafür keinen AWS-Service gibt. Es scheint, als hätten sie stattdessen die gesamte OpenId- oder SAML-Route durchlaufen. Es überrascht mich auch, dass es an Anleitungen mangelt, wie ein Oauth2-Provider schnell in der Cloud eingerichtet werden kann. 

Jede Hilfe wäre dankbar.

41
cosbor11

(1) Möchten Sie OAuth 2.0-Endpunkte ( Authorization Endpoint und Token Endpoint ) auf dem API-Gateway implementieren? Mit anderen Worten: Möchten Sie wirklich einen OAuth 2.0-Server ( RFC 6749 ) auf dem API-Gateway implementieren?

(2) Oder möchten Sie Ihre auf API Gateway von OAuth 2.0 Zugriffstoken implementierten Web-APIs schützen?

Diese beiden sind völlig verschiedene Dinge.

Es scheint, als wollten Sie OAuth 2.0 anstelle von AWS-IAM auswählen. Ich denke, Sie wollten (2). Wenn ja, finden Sie hier ein Beispiel: Amazon API Gateway + AWS Lambda + OAuth


Aktualisiert am 2016-Apr-6

Am 11. Februar 2016 gab ein Blogeintrag von AWS Compute Blog , " Einführung von benutzerdefinierten Autorisierern in Amazon API Gateway " bekannt, dass Custom Authorizer in Amazon API Gateway eingeführt wurde. Dank dieses Mechanismus kann eine auf Amazon API Gateway basierende API die Validierung eines Bearer-Token (z. B. eines OAuth- oder SAML-Token), das von einer Clientanwendung präsentiert wird, an einen externen Autorisator delegieren.

Wie Sie auf Amazon API Gateway durch OAuth-Zugriffstoken erstellte APIs mit dem neuen Mechanismus Custom Authorier schützen, ist in " Amazon APi Gateway Custom Authorizer + OAuth " beschrieben.


Zu Ihrer Information:

OAuth 2.0 ist ein Autorisierungsmechanismus, keine Authentifizierung. OAuth 2.0 wird jedoch häufig zur Authentifizierung verwendet, und es gibt viele Softwarebibliotheken und Dienste, die OAuth 2.0 zur Authentifizierung verwenden.

Cognito (Identity) ist eine Lösung, die sich auf Authentifizierung bezieht, nicht auf Autorisierung.

Angepasst in Cognito können OpenID Connect-Anbieter angegeben werden. OpenID Connect ist eine Authentifizierungslösung. Was die Dinge kompliziert macht, ist "OpenID Connect basiert auf OAuth 2.0". Siehe OpenID Connect Site für Details.

30

AWS API Gateway unterstützt Amazon Cognito OAuth2-Bereiche jetzt . Sie können einen Amazon Cognito-Benutzerpool-Autorisierer erstellen und als Ihr Autorisierungsmethode in API Gateway) konfigurieren. Um OAuth-Bereiche verwenden zu können, müssen Sie einen Ressourcenserver und benutzerdefinierte Bereiche konfigurieren. mit Ihrem Cognito-Benutzerpool . Sie können mehrere App-Clients im Cognito-Benutzerpool mit unterschiedlichen Geltungsbereichen konfigurieren oder verschiedene Bereiche aus Ihrem Anwendungscode anfordern, während Sie Benutzer über Ihren Benutzerpool authentifizieren. Basierend auf dem in Zugriffstoken von Cognito empfangenen Gültigkeitsbereich lässt API Gateway den Aufrufer Ihrer APIs zu/verweigern. Eine schrittweise Anleitung zum Implementieren dieser Funktion finden Sie hier: hier

1
stackOp