ホームページ >バックエンド開発 >Golang >`credentials: \'include\'` を指定しない限り、ブラウザが My Go バックエンドから Cookie を保存しないのはなぜですか?

`credentials: \'include\'` を指定しない限り、ブラウザが My Go バックエンドから Cookie を保存しないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-24 10:48:10748ブラウズ

Why Doesn't My Browser Save Cookies from My Go Backend Unless I Specify `credentials:

ブラウザが Cookie を保存できません

Go バックエンドを使用して React アプリケーションを構築しようとすると、http.cookie を利用したリクエストの応答時に Cookie が設定されます。 。それにもかかわらず、ブラウザは Cookie を保存できないままです。この問題は Chrome と Firefox の両方で発生しています。

詳しく調べると、Cookie を含む応答を期待する Fetch API リクエストに「credentials」属性が欠落していることがわかりました。 「credentials: "include"」をリクエストに組み込むことで、ブラウザは応答から取得した Cookie を保存できます。

fetch(`${url}/login`, {
                method: "POST",
                headers: {
                    "Content-Type": "application/json",
                },
                credentials: "include", // Added parameter
                body: JSON.stringify({
                    email: userDetails.email,
                    password: userDetails.password,
                }),
            }).then((response) => { ...

この事実は、「credentials」を「include」に設定することの重要性を強調しています。リクエストは応答に Cookie を期待しています。この属性がないとブラウザは Cookie を保存できず、前述の問題が発生します。

以上が`credentials: \'include\'` を指定しない限り、ブラウザが My Go バックエンドから Cookie を保存しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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