Ich muss einen JHipster (Spring Security/AngularJS) Benutzer authentifizieren, nachdem eine reguläre GET Anfrage vom Browser gemacht wurde, und dann zur AngularJS App umleiten (für OpenID Authentifizierung))Programmgesteuertes Anmelden bei Spring Security und Authentifizieren auf AngularJS (JHipster)
@GetMapping("/login")
@Timed
public void login(HttpServletResponse response) throws Exception {
User user = userRepository.findOneByLogin("user").get(); // For testing purposes
Authentication auth = new UsernamePasswordAuthenticationToken(user, null);
SecurityContextHolder.getContext().setAuthentication(auth);
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", "http://localhost:8080/#/");
}
nach der Umleitung zu „http://localhost:8080/#/“ gemacht wird, kommt die Antwort-Header mit einem JSESSIONID, aber ich weiß nicht, ob das das Token ist, dass ich (das ist die „user“ authentifizierte Token müssen?) und es bleibt nicht in den Browser-Cookies (vielleicht wegen der Umleitung?)
Wenn ich mich mit dem Standard JHipst anmelden er AngularJS Benutzername/Passwort Form, kommt die Antwort-Header mit
Set-Cookie:XSRF-TOKEN=108cadcf-2005-4e36-b055-438d75dc1ce9; path=/
Set-Cookie:JSESSIONID=foVcxycPQbUgS6nviKG1ftXSIgnlgDJdtxEGCSGZ; path=/; HttpOnly
Set-Cookie:remember-me=N2pNMGFRRGJENldhZWpQTGV2d1k6c3NOTkk1WWpnR28xcWRldDE2T3U; path=/; HttpOnly; Max-Age=2678400; Expires=Sun, 07-May-2017 07:40:16 GMT
I denkt hier die Lösung programmatisch sein würde, den Benutzer anmelden, einen gültigen JSESSIONID Token erhalten, und es im Browser als Cookie während gesetzt/nachdem ich den Location Header zur Umleitung benutzt habe, habe ich Probleme mit diesen Schritten. Jede Hilfe wird geschätzt.