Das Express-Backend hat Probleme beim Empfang von Subdomain-Cookies mit CORS und Cookie-Parser
<p>Ich entwickle derzeit eine MERN-Anwendung (MongoDB, Express, React, Node.js) und habe ein Problem beim Empfang von Cookies von einer Subdomain im Express-Backend. Ich habe CORS und die Cookie-Verwaltung eingerichtet und alles funktioniert gut, wenn ich einen einfachen Localhost-Ursprung verwende, habe aber Probleme beim Umgang mit Subdomains. </p>
<p>Hier ist eine Zusammenfassung der Schritte, die ich unternommen habe, und der Probleme, mit denen ich konfrontiert war: </p>
<p><strong>Cookie setzen, wenn Sie angemeldet sind: </strong></p>
<pre class="brush:php;toolbar:false;">res.cookie("token", token, {
httpOnly: wahr,
sameSite: „none“,
Weg: "/",
sicher: wahr,
});</pre>
<p>Wenn ich versuche, dieses Cookie mithilfe der CORS-Einstellungen abzurufen, wobei der Ursprung lautet: </p>
<pre class="brush:php;toolbar:false;">app.use(
cors({
Herkunft: „http://localhost:3000“,
Referenzen: wahr,
})
);</pre>
<p>Aber wenn ich beim Testen den Subdomain-Ursprung verwende, so: </p>
<pre class="brush:php;toolbar:false;">app.use(
cors({
Herkunft: „http://binbros.localhost:3000“,
Referenzen: wahr,
})
);</pre>
<p>Es gibt keine Fehler mit CORS im Frontend und das Cookie wurde erfolgreich im Frontend erstellt. Wenn ich jedoch versuche, über diese CORS-Einstellung auf die Cookies zuzugreifen, erhalte ich keine Cookies. Aber mit der gleichen Methode und dem gleichen CORS-Setup für einen einfachen Localhost kann ich alle Cookies normal und ohne Probleme abrufen. </p>
<p><code>console.log(req.cookies);</code></p>
<p>P.S:
Wenn ich auf localhost bin und origin localhost ist,
und ich protokolliere das Cookie,
Ich kann alle Frontend-Cookies abrufen, nicht nur das, das ich im Backend erstellt habe
Aber
Wenn ich mich in der Ursprungsdomäne der Subdomain befinde, erhalte ich nicht einmal ein Cookie im Backend.
Keines von mir erstellt, noch eines aus dem Frontend</p>