¿Tiene alguna idea de por qué la cookie no está configurada en el cliente? Se envía desde el backend:
func loginEmail(_ req: Request) throws -> Response { let response = Response(status: .ok) let cookie = HTTPCookies.Value(string: "abcdef") response.cookies["userId2"] = cookie return response } es visible en el navegador en la pestaña Network
set-cookie: userId2=abcdef; Path=/; SameSite=LaxGET se envía al backend. El backend se ejecuta en el puerto 8080, el frontend en el 3000.
Uso axios en una aplicación React/Next.js para llamar al punto final:
const login = () => { axios .get(`http://localhost:8080/loginEmail`) .then((res) => {}) .catch((err) => console.error(err)); };Estoy usando Vapor como backend y tengo las siguientes configuraciones, tal vez sean importantes:
app.middleware.use(CORSMiddleware(configuration: .init( allowedOrigin: .originBased, allowedMethods: [.GET, .POST, .PUT, .OPTIONS, .DELETE, .PATCH], allowedHeaders: [.accept, .authorization, .contentType, .origin, .xRequestedWith, .userAgent, .accessControlAllowOrigin, .init("crossDomain"), .accessControlAllowCredentials, .xRequestedWith] ))) app.sessions.configuration.cookieName = "userId2" // Configures cookie value creation. app.sessions.configuration.cookieFactory = { sessionID in print("sessionID.string: \(sessionID.string)") return .init(string: sessionID.string, isSecure: false) } app.middleware.use(app.sessions.middleware)