問題の説明:
Go サーバーを使用する React アプリケーションログイン要求の応答で送信された Cookie を正常に設定したにもかかわらず、それを保存する際に問題が発生しました。 Cookie はネットワーク タブに表示されますが、ブラウザ (Chrome および Firefox) では保存されません。
根本原因と解決策:
さらに調査すると、不足している要素はフェッチ リクエスト内の「資格情報」フラグであることが判明しました。 「credentials: "include"」を設定すると、ブラウザーは応答で受信した Cookie を処理して保存できるようになります。修正されたフェッチ リクエストは次のとおりです:
fetch(`${url}/login`, { method: "POST", headers: { "Content-Type": "application/json", }, credentials: "include", // This here body: JSON.stringify({ email: userDetails.email, password: userDetails.password, }), }).then((response) => { ...
追加の注意事項:
以上が私のブラウザがクロスオリジンリクエストからの Cookie を保存しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。