Autho0ではこれまで、クッキーの
samesite属性にはtrue、false、strict、laxのオプションがありました。属性が手動で設定されていない場合、Auth0はデフォルト値のfalseを使用していました。2020年2月より、Google Chrome v80によるクッキーの取り扱いが変わりました。Auth0はこれを受けて、クッキーの処理方法を以下のように変更しました。samesite属性が設定されていないクッキーは、laxに設定されます。sameSite=noneのクッキーは、セキュリティ保護が必要です。そうしないとブラウザーのcookie jarに保存できません。
- 保管するセッション情報の量に制限がありません。
- データベースからレコードを削除するだけで、ユーザーのセッションを簡単にクリアできます。
- セッションデータをデータベースに保管する必要があります(ただし、ほとんどのWebアプリケーションはすでにこれを行っています)。
- ユーザーがHTTP要求を行うたびにセッションを読み取る(時には書き込む)のにデータベースを呼び出す必要があるため、遅延が増加します。
- ユーザーの数が多く、データベースに対する読み取りや書き込みが多くなる場合には、規模の調整が困難なこともあります。
- 手軽に実装できます。特別なバックエンドは必要ありません。
- データベースを呼び出す必要がないため、遅延が低減されます。
- 規模の調整が簡単です。
- クッキーにはサイズ制限(ほとんどのブラウザーで最大4KB)があるため、保管されるセッション情報を制約する必要があります。セッション情報を複数のクッキーに分割することもできますが、推奨されません。
- データベースに削除可能なレコードがないため、セッションの取り消しが困難になります。セッションを強制的にクリアする別の方法を用意する必要があります。
- 複数のWebサーバーを使用している場合には、クッキーの暗号化と復号化や署名に使用する鍵がすべてのサーバーになくてはなりません。