No puedo guardar una cookie ni obtener ningún encabezado de la API web de asp.net mediante CORS. Pero en cartero puedo ver cada encabezado o conjunto de cookies en respuesta.
Mi solicitud de interfaz:
var response = await fetch("https://localhost:7072/api/Auth/Register", { method: "post", mode: "cors", credentials: "same-origin", headers: { "Origin": "https://localhost:3000" }, body: new FormData(document.getElementById("myForm")) }); response.headers.forEach((val, key) => console.log(key + ": " + val)); También probé credentials: include pero no puedo obtener los encabezados de todos modos
Pero en los encabezados de respuesta solo obtengo content-length: 0 y no hay cookies establecidas.
Mi política de back-end es:
builder.Services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => { builder.WithOrigins("https://localhost:3000") .AllowAnyHeader(). AllowCredentials(). AllowAnyMethod(); }); });Construir:
app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseCors("CorsPolicy"); app.UseAuthentication(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller}/{action=Index}/{id?}"); app.MapFallbackToFile("index.html"); ; app.Run(); Y Auth/Register parece:
var token = GenerateToken(user); Response.Cookies.Append("LOGIN_INFO", token, new CookieOptions { Expires = DateTime.Now.AddMonths(3), HttpOnly = true, Secure = true }); return Ok();Intenté usar SameSite.None, Lax, etc.