Ich habe mehrere Spring 4-Back-End-Webanwendungen geschrieben, die RESTful-APIs unterstützen. Ich habe es sogar geschafft, diese mit Spring Web Security zu sichern.Spring Security mit AWS IAM oder Cognito
In einem Fall haben wir unsere eigene Instanz von OpenAm installiert. Ein Benutzer, der zur Benutzeroberfläche des Clients wechselt, kann sich bei OpenAM anmelden, und die Client-Webanwendung ruft ein Token in einem Cookie ab. Wir übergeben dieses Token innerhalb eines Headers an das Back-End, und Spring Security verwendet dann einen CustomeUserDetailsService, um dieses Token auf OpenAM zu überprüfen, um festzustellen, ob es gültig ist. Wenn dies der Fall ist, erstellen wir im Spring Security-Kontext einen Benutzer, weisen Rollen zu und sehen dann, ob diese Rollen für die API gültig sind. Wenn dies der Fall ist, wird die API ausgeführt, andernfalls erhält der Benutzer einen 401-Sicherheitsfehler. Ich glaube, das ist OAuth2.
Wir haben es mit Okta auch genau so gemacht. Wir haben unsere eigene Client-Weboberfläche mit einer eigenen Anmeldeseite. Die Benutzeroberfläche ruft Okta an und erhält zwei (2) Token zurück. Wir verketten diese Tokens und übergeben sie an das Back-End, das den oben beschriebenen Prozess ausführt. Ich denke auch, das ist Oauth2.
Ich arbeite jetzt an einem neuen Projekt, und dieses Mal möchte ich meine Webanwendung mit AWS IAM sichern, da das Frontend und das Back auf einer AWS EC2 Instanz gehostet werden.
Ich habe das Web durchforstet, um genau herauszufinden, wie man das macht. Es gibt ein AWS IAM SDK und es gibt AWS Cognito. Mein erster Blick in IAM zeigte nicht ganz Oauth2, ich sah OpenID und SAML. Ich weiß, dass ich OpenID vs. Oauth2 vs. SAML nicht kenne.
So, ich bin auf der Suche nach Links zu Code-Basen oder Beispielcode oder Dokumentation, die mir helfen, meine Back-End-API mit Spring Security mit AWS IAM und/oder Cognito zu sichern. Übrigens möchte ich das Spring API Gateway nicht verwenden, da Spring Web Security dies bereits für mich erledigt.
Vielen Dank im Voraus für jede Hilfe!
Sie vielleicht einen Blick auf https://github.com/kdgregory/example-cognito-java und http nehmen wollen: //blog.kdgregory. com/2016/12/serverseitige Authentifizierung-mit-amazon.html. Der Autor hat eine Analyse von Cognito für eine grundlegende serverseitige App in Java geschrieben. – sdbol
Großartig! Ich werde mir diese Dokumentation ansehen. Vielen Dank! – tjholmes66