Я пытаюсь использовать файл cookie аутентификации сеанса после входа в систему, но файл cookie не сохраняется.
Для тестирования я создал простой метод CookieTest на своем сервере Dotnet Core:
[Route("CookieTest")]
public ActionResult CookieTest()
{
var options = new CookieOptions()
{
SameSite = SameSiteMode.None,
Secure = true
};
Response.Cookies.Append("NoPermsCookie", "cookie set");
Response.Cookies.Append("SameSiteSecure", "cookie set", options);
return new OkResult();
}
Если я нажму запрос GET из обычного окна браузера (используя Chrome), я увижу заголовки set-cookie
, а файлы cookie отобразятся на странице инструментов разработки приложений.
Если я запускаю простой тест из своего приложения Angular:
this.authService.getCookieTest().subscribe(() => console.log('Got response, check cookies!'));
public getCookieTest() {
return this.http.get(`${this.urlBase}/api/auth/cookietest`);
}
Я получаю сообщение журнала о том, что запрос выполнен успешно; Я вижу заголовки set-cookie
в ответе; но значения cookie на самом деле не установлены.
Вот заголовки запросов из инструментов разработки:
Я уверен, что делаю что-то не так (конфигурация CORS? Отсутствует заголовок в запросе?), но я понятия не имею, что. Я уверен, что это работало в предыдущих версиях Angular, но я давно не пробовал.
Какие-либо предложения?