web-dev-qa-db-ja.com

SameSite = Noneを設定した後でも、SafariがCookieを送信しない。安全

私たちのアプリケーションはクッキーを使用してユーザーのログインを記憶しています。私たちが行うすべての認証API呼び出しでは、ブラウザーはサーバー設定のHTTPonly CookieをAPIリクエストに添付して認証されます。この動作は、Mojaveのリリース後のSafariでは壊れているようです。

Safariによって実装されたクロスサイトCookieセキュリティについて読み、Cookieの設定中にサーバーチームがSameSite=None;Secureを追加しました。それでも、それでも動作しません。

Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None

実際に解決策を見つけた人々からのアドバイスやリンクを提供してください。

12
DieOnTime

MacOS 10.14のSafariのバージョンとiOS 12のすべてのブラウザーは このバグ の影響を受けます。つまり、SameSite=Noneは誤ってSameSite=Strictとして扱われます。最も制限的な設定。

SameSite cookieレシピ のガイダンスを次のいずれかに公開しました。

  • 2組のCookieを使用して、SameSite=None; Secureをサポートするブラウザーとサポートしないブラウザーを考慮します。
  • ユーザーエージェントをスニッフィング 互換性のないブラウザーの場合 であり、それらの要求に対してSameSite=Noneを提供しません。
12
rowan_m

Ruby(具体的には、Rails、Sinatra、またはRackの上にあるもの)でコーディングされたアプリケーションの場合、 RailsS​​ameSiteCookie gem はこれと関連する問題を非常にうまく解決します。コードは脆弱な正規表現なしで Chromiumディスカッションの疑似コード の翻訳に近い。

0
Av Pinzur