以前の Auth0 では、
samesite Cookie 属性のオプションは true、false、strict、lax でした。属性を手動で設定しなかった場合、Auth0 はデフォルト値として false を使用していました。
2020 年 2 月から、Google Chrome v80 では Cookie の処理方法が変更されました。これに対応するため、Auth0 でも Cookie の処理方法に次の変更を実装しました。samesite属性が設定されていない Cookie は、laxに設定されます。sameSite=noneが設定された Cookie はセキュアである必要があります。そうでない場合、ブラウザーの Cookie jar に保存できません。
- 保存できるセッション情報の量に制限がありません。
- ユーザーのセッションを簡単に削除できます。データベースからレコードを削除するだけです。
- セッションデータを保存するにはデータベースが必要です (ただし、ほとんどのWeb アプリケーションではすでに使用されています) 。
- ユーザーがHTTP リクエストを送るたびに、セッションを読み取るためのデータベースアクセス (場合によっては書き込みも) が必要になるため、遅延が増えます。
- ユーザー数が多くなり、それに伴ってデータベースの読み書きも増えると、スケーリングが難しくなることがあります。
- 容易に実装でき、特別なバックエンドも必要ありません。
- データベースを呼び出す必要がないため、レイテンシを低減できます。
- スケールしやすいです。
- Cookieにはサイズ制限があるため (ほとんどのブラウザーで最大4KB) 、保存できるセッション情報を制限しなければなりません。セッション情報を複数のCookieに分割することもできますが、お勧めしません。
- 削除できるデータベース上の記録がないため、セッションを取り消しにくくなります。セッションを強制的にクリアするには、別の方法を検討する必要があります。
- 複数のWebサーバーを使用する場合は、すべてのサーバーがCookieの暗号化/復号や署名に必要なキーを持っていることを確認する必要があります。