ホームページ >バックエンド開発 >Golang >Localhost で HTTPOnly Cookie が設定されないのはなぜですか?

Localhost で HTTPOnly Cookie が設定されないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-18 08:14:02453ブラウズ

Why Aren't My HTTPOnly Cookies Setting on Localhost?

HTTPOnly Cookie がブラウザーのローカルホストに設定されない

問題:

HTTPOnly Cookie を設定する REST API エンドポイントはlocalhost ブラウザでは正しく動作しません。

使用したアプローチ:

  • 問題を再現するために最小限の Go および Node.js API を作成しました。
  • Postman で API をテストし、Cookie が正常に設定されました。

解決策:

問題はフロントエンド JavaScript の fetch() メソッドにあります。 。ローカル ブラウザ環境で HTTPOnly Cookie を受信するには、RequestInit オブジェクトに credentials: "include" オプションを含める必要があります。

let response = await fetch(`http://localhost:8000/login`, {
  method: "POST",
  credentials: "include", //--> send/receive cookies
  body: JSON.stringify({
    email,
  }),
  headers: {
    "Content-Type": "application/json",
  },
});

Axios の場合、3 番目の構成で withCredentials: true を設定することで Cookie 処理を有効にできます。引数。

以上がLocalhost で HTTPOnly Cookie が設定されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。