I am trying to set a cookie for a JWT token. My problem is that no cookie is ever set in the browser. I think this has to do with my server that is on localhost:3000 and my client (react) that is on localhost:5000. In the clients package.json I have added this:
"proxy": "http://localhost:5000"
On the server I got:
app.use(cors({origin: 'http://localhost:3000', credentials: true }))
app.use(cookieParser())
//send cookie:
res.cookie("token", accessToken, { maxAge: 60*60*24*7, secure: true, httpOnly: true})
res.status(200).json('Cookie sent!')
Just to make it work I also tried this without any success:
res.cookie("token", accessToken, { httpOnly: false, secure: false})
On frontend I got this:
let response = await fetch(`/api/login`, {
method: 'POST',
mode: 'same-origin',
redirect: 'follow',
credentials:'include',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: userInfo
})
});
I should add that my knowledge in cors and proxy is very limited.
question from:
https://stackoverflow.com/questions/65541238/cant-set-cookie-from-server-with-proxy 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…