Skip to content

[Refactor] フロントエンドにおけるAPIクライアントのセッションリーク脆弱性の解消 #41

Description

@yufoxda

概要

frontend/src/lib/client.ts でエクスポートされているAPIクライアントのシングルトンインスタンスを廃止し、セッションリーク脆弱性を解消します。

課題

Next.jsのサーバーサイド実行時(Server Components / Route Handlers / Server Actions)において、複数ユーザーの並行リクエストが同一のメモリ空間を共有するため、シングルトンの認証ヘッダーが他人のトークンで上書きされ、セッションリークが発生するリスクがあります。

対応方針

  • シングルトンの直接エクスポートを廃止
  • リクエストヘッダーからCookie/トークンを受け取ってインスタンスを動的生成するファクトリパターン(createApiClient)への移行
  • Reactの cache を用いたリクエストスコープ限定のシングルトン化の導入

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions