Ich habe drei Anwendungen in meiner Lösung, alle in asp.net Core 1 MVC 6 gebaut.
In App 3 habe ich den üblichen SignInManager- und UserManager-Code von asp.net (derselbe Code, den Sie standardmäßig erhalten, wenn Sie eine neue MVC 6-Vorlage starten - nur anders ist es in meiner Web-API vorhanden). Und das Login / Logout / Register usw. wird über Web-API-Methoden in meinem AccountController verfügbar gemacht. Dadurch kann ich die Web-API sperren, so dass nur authentifizierte Anfragen verarbeitet werden (mit dem Attribut [Autorisieren]).
Wenn ich die "Login" -Methode in meinem AccountController aufruft, wenn die Anmeldung erfolgreich war, wird eine Set-Cookie-Direktive mit dem folgenden Namen zurückgegeben: ".AspNet.Microsoft.AspNet.Identity.Application" (dies wird für die Authentifizierung verwendet )
Die Login-App leitet den Benutzer dann von App1 zu App2 weiter. Alle nachfolgenden Anfragen an die Web-API (App3) werden dann authentifiziert und dürfen ausgeführt werden. HINWEIS: Durch nachfolgende Anfragen - konkret in App2, winke ich an, um nach Daten vom Webservice zu fragen.
All das funktioniert gut - nun, es funktioniert in IE gut. Was bringt mich zu meiner Frage, warum würde das in Chrome nicht funktionieren? Ich sehe, dass die "Set-Cookie" -Richtlinie von der Antwort der Web-API-Anmeldung in Chrome zurückkommt, aber bei nachfolgenden Anfragen ist dieser Cookie nicht angehängt.
Was mache ich falsch?
HINWEIS: Meine HTTP-Antwort von der Login-Methode sieht folgendermaßen aus:
%Vor%Tags und Links google-chrome asp.net-core-mvc cookies claims-based-identity