Ich habe eine plattformübergreifende Anwendung für Web und Mobile entwickelt.REST API Sicherheit mit plattformübergreifenden Apps (AWS Cloud/Services)
Der Webpart wird von einer node.js/express-Anwendung bedient und hat eine Benutzerauthentifizierung basierend auf pass.js, mit lokaler Anmeldung, Facebook und Google-Authentifizierung. Es wird teilweise serverseitig mit Jade gerendert, aber auch mit Angular für dynamische Inhalte, die von der API angefordert werden.
Der mobile Client wurde mit Ionic2/(Angular2) entwickelt und authentifiziert Benutzer durch Aufruf des node.js Servers mit einer Pass-JWT-Strategie.
Beide Clients, Web und Mobile werden mit einer REST-API mit AWS API und mehrere Lambda Gateaway Microservices hinter einrichten, mit DynamoDB, Elaticsearch usw.
Eigentlich mit der API Sicherheit bin ich kämpfen. Die Endpunkte, für die eine Benutzerauthentifizierung/-mitgliedschaft erforderlich ist, können mit dem JWT-Token unter Verwendung der vorhandenen Auth-Strategien verarbeitet werden. Aber ungefähr 90% der APIs liefern Daten, für die keine Authentifizierung erforderlich ist.
Die sind jetzt offen für die Welt, da ich keine gute Strategie gefunden habe, sie zu schützen. Mein Ziel ist es sicherzustellen, dass nur Benutzer der mobilen und Web-App auf diese Endpunkte zugreifen können.
Wie könnte ich das archivieren? Es wäre großartig, wenn mir jemand einen Hinweis auf den besten Ansatz geben könnte.
Vielen Dank!
Sie können einen benutzerdefinierten Autorizer im API-Gateway verwenden, um das jwt-Token zu überprüfen. Irgendein Grund, es nicht zu benutzen? – Ashan
Ja das ist, was ich eigentlich mit Endpunkten mache, die Auth erfordern, weil nur authentifizierte Benutzer ein Token haben. Problem ist bei der API, dass allgemeine Daten für jeden Benutzer, der nicht authentifiziert ist, dienen. – Stefan