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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-18 19:55:02118ブラウズ

Why Aren't My HTTPOnly Cookies Setting in the Browser on Localhost?

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

問題:

REST API 内HTTPOnly Cookie を生成するログイン エンドポイントを使用すると、Postman 経由の POST リクエストが正しく機能しても、Cookie がブラウザーに設定されなくなりました。この問題は、以前は機能していたアプローチを使用したにもかかわらず発生しました。

使用したアプローチ:

  • REST API の最小限の Go 実装を作成しました。
  • Express と axios を使用して Node 実装を作成しました。
  • ヘッダー応答を分析し、フロントエンド コードをテストしました。

結果:

  • Go と Node API は両方とも、応答ヘッダーで HTTPOnly Cookie を送信しました。
  • ただし、テストしたブラウザでは Cookie が設定されていませんでした。

解決策:

問題はクライアント側の JavaScript (fetch() メソッド) にありました。 「credentials: "include"」オプションを RequestInit オブジェクトに追加することにより、ブラウザーはリクエストで Cookie を送受信できるようになりました。これは、ブラウザで HTTPOnly Cookie を設定するために必要です。

追加情報:

  • Axios は、'credentials: "include" オプションを自動的に設定します。
  • Axios を使用している場合、ブラウザーの Cookie 設定を有効にするために、リクエストの 3 番目の構成引数に「withCredentials: true」を含める必要があります。

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

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