Ich habe fest auf solche Probleme im Zusammenhang mit Cookies stecken.Set-Cookie in Antwort-Header nicht im Browser erstellt werden - Verwendung von http POST
Mein Szenario ist folgendes:
- Ich habe meine Backend auf dem Server (localhst: 12456)
- ich mein Eckige 2 App auf einem anderen Server ausgeführt haben (localhost: 5555)
Mein Backend ist nur eine ASP.NET-Anwendung und ich versuche, Benutzer von einem apiController zu authentifizieren. der api-Controller ist wie folgt:
[System.Web.Mvc.HttpPost]
public HttpResponseMessage HandleLogin([FromBody] LoginModel loginModel)
{
if (!String.IsNullOrEmpty(loginModel.Username) && !String.IsNullOrEmpty(loginModel.Password))
{
if (Members.Login(loginModel.Username, loginModel.Password))
{
var resp = Request.CreateResponse<UserAuthenticationModel>(
HttpStatusCode.OK,
new UserAuthenticationModel() { IsAuthenticated = true}
);
//create and set cookie in response
var cookie = new CookieHeaderValue("customCookie", "cookieVal");
cookie.Expires = DateTimeOffset.Now.AddDays(1);
cookie.Domain = Request.RequestUri.Host;
cookie.Path = "/";
resp.Headers.AddCookies(new CookieHeaderValue[] { cookie });
return resp;
}
}
return Request.CreateResponse<UserAuthenticationModel>(
new UserAuthenticationModel() { IsAuthenticated = false }
);
}
nun von meinem Winkel app, ich eine HTTP-Post nenne:
headers.append ('Access-Control-Allow-Credentials', true);
return this._http.post(this._globalVariables.BACKEND_API_HANDLE_LOGIN, loginModel, {headers: headers})
.map((response : Response) => response);
this._loginService.getLoginModel() .subscribe ( loginModel => this._signInPageModel = loginModel, error => console.log (Fehler) ); Nun, in meiner API-Controller-Methode (HandleLogin) habe ich einen Test-Cookie und einen anderen für FormsAuthentication und wenn Benutzer erfolgreich angemeldet und zurück zu meiner eckigen App, werden keine Cookies erstellt.
Nun können die Cookies sowie Post meiner Antwort-Header zu sehen:
ich es ziemlich verwirrend bin und freuen uns über jede Hilfe, um erfolgreich den Login-Prozess zu bekommen.
Vielen Dank im Voraus.
Was ist Ihre Frage noch einmal? – AngJobs
Haben Sie das Problem gefunden? –