「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Cookie]] * 目次 [#w6c5a9e5] #contents *概要 [#qf3a1e80] SameSite属性とは、 -[[Cookie関連のHTTPヘッダ>Cookie#u957f567]]で、 --[[CSRF対策>CSRF(XSRF)対策の実装方針]]のために実装された。 --3rd Party Cookieのクロスサイトでの扱いを変更する属性。 --Chromeでは、「SameSite=Lax」に設定される。 -下記に影響が出るなど、 --クロスサイトでPOST遷移した場合、Cookieが付与されない。 --IFRAMEを使用した場合、Cookieが付与されない。 >[[認証>クレームベース認証]]界隈でも話題になっている。 *詳細 [#se1e314a] これによる影響は、単純に、 -SameSite属性の値次第で、 -クロスサイトの遷移の中でCookieが送信されなくなる。 と言う事である。 **影響の具体例 [#d246fec3] 「クロスサイトの遷移の中でCookieが送信されなくなる」ので、 ***一般的な問題 [#j5c8878f] クロスサイトの遷移後、 -遷移先で未ログイン状態になる([[Cookie認証チケット>認証基盤#la8f4c73]])。 -遷移先で情報が取得できず、機能が動作しなくなる([[Session Cookie>ASP.NET Session#r1eb9f6a]])。 ※ 例えば、ECサイトのカート情報などが保持できなくなる。 などの問題が発生し得る。 ***IdPでの問題 [#e81bb847] 以下の機能が動作しなくなる可能性がある。 -[[SAML の HTTP POST Binding>SAML Bindings#n7409552]] -[[OAuth2/OIDC の response_mode=form_post>OAuth 2.0 Form Post Response Mode]] **トリガはブラウザの既定値の変更 [#d63a3654] 以下のバージョンで、SameSite属性が導入されている。 -Chrome:version 51 -Firefox:version ? -Edge:Windows 10 ビルド17672以降 ***Chrome 78-80以降 [#ub10550c] -Chrome 78-79~ [[SameSite属性値がLax>Cookie#u957f567]]の場合、~ 「2分間はCookieを送信する」と言う~ (よけい混乱する)独自動作を行う。 -Chrome 80 --[[SameSite属性の既定値がNoneからLax>Cookie#u957f567]]に変更された。 >特に、SameSite属性が未指定の場合、~ SameSite属性の既定値がNoneからLaxに変更される。 --Secure属性を付けずSameSite=Noneを指定した場合、~ set-cookie自体が無効になったので、HTTPの場合は、~ HTTPS化して、Secure属性を付与する必要がある。~ --新コロ対応 ---2020/4/3(現地時間)、この仕様を一時的に撤回すると発表した。 ---一方「[[Edge>#pa724289]]」などでは、この仕様変更が維持されている。 ***Firefox ?, Edge 80 [#pa724289] MozillaのFirefoxやMicrosoftのEdgeブラウザでも、~ 「SameSite=Lax」属性がデフォルトで追加される予定 -Firefox ? -Edge 80(2020/02/10)より試験運用 **影響への対応 [#x4ec40e6] -クロスサイトの画面遷移の方法を変更するか、 -必要な部位に、SameSite=Noneを明示する。~ (加えて、HTTPS化してSecure属性を付与する)。 *参考 [#c96a2566] -EC事業者にも関係するSameSite属性!~ カートに入れたはずの商品がない?~ ログインが何回も求められる?~ Chrome 80の仕様変更とその影響・対策(2020年2月3日追記)~ https://www.future-shop.jp/magazine/info-samesite -SameSite 属性結局どうすりゃいい? | tech - 氾濫原~ https://lowreal.net/tech/.page/20191102010401/3 -【Google Chrome】CookieのSameSite属性などを~ デベロッパーツールで確認する:Google Chrome完全ガイド - @IT~ https://www.atmarkit.co.jp/ait/articles/2002/19/news021.html -Chrome 80で導入されたCookieのSameSite属性サポートが~ 原因でCookieの長さが上限を超え不具合が出るケースが発生 | スラド IT~ https://it.srad.jp/story/20/02/19/181211/ -Google、「Chrome 80」から導入されている~ “SameSite Cookie”の変更を一時撤回 - 窓の杜~ https://forest.watch.impress.co.jp/docs/news/1245512.html -SameSite属性どころか、~ HTTP自体がダメになってた件(Cookie) - OSSコンソーシアム~ https://www.osscons.jp/jov9t04kz-537/ **Qiita [#b5a77002] -Chrome 80が密かに呼び寄せる地獄~ ~ SameSite属性のデフォルト変更を調べてみた~ https://qiita.com/ahera/items/0c8276da6b0bed2b580c -CookieのSameSite属性 NoneとLaxの違い~ https://qiita.com/akaaariiiiin/items/b3078b53621c79188f6e -EC-CUBE の SameSite cookie 対応まとめ~ https://qiita.com/nanasess/items/bfb965554b5ee36fb0d6 **Google, MS [#i9b64ac8] -Google Developers Japan: 新しい Cookie 設定 SameSite=None; Secure の準備を始めましょう~ https://developers-jp.googleblog.com/2019/11/cookie-samesitenone-secure.html -ASP.NET Core での SameSite cookie の使用 | Microsoft Docs~ https://docs.microsoft.com/ja-jp/aspnet/core/security/samesite **OSSコンソーシアム > 開発基盤部会 Blog [#yeb9e831] -SameSite属性どころか、~ HTTP自体がダメになってた件(Cookie) - ~ https://www.osscons.jp/jov9t04kz-537/ -SameSite属性の背景は3rd Party Cookie~ ...その辺、あまり詳しくないケド~ https://www.osscons.jp/joldyq7jm-537/ **[[Cookie > 3rd Party Cookie問題>Cookie#y35ce60f]] [#vb563a42] ---- Tags: [[:プログラミング]], [[:通信技術]], [[:.NET開発]], [[:.NET Core]], [[:ASP.NET]], [[:ASP.NET Web API]]