REVELUP
shwldshwlda month ago

ローカル認証バイパスでAIエージェントの動作確認を可能にする

クラウド認証(Cloudflare Access等)に依存するアプリでは、AIコーディングエージェントがローカル開発サーバーで認証画面をテストできない。認証トンネルの設定が必要で、エージェントには操作できない。

仕組み:

  • 開発サーバー起動時にフラグ(環境変数やクエリパラメータ)を渡す
  • 開発モードの場合のみ、固定のテストユーザーで認証をバイパスするミドルウェアを挿入する
  • 本番コードには一切影響しない条件分岐にする
// 開発専用の認証バイパスミドルウェア
function devAuthMiddleware(req, res, next) {
  if (process.env.NODE_ENV !== "development") return next();
  // テスト用ユーザーをセッションに注入
  req.user = { id: "dev-user", email: "dev@localhost" };
  next();
}

やってみてどうだったか:

  • エージェントが認証付きページのスクリーンショットテストを全ページ実行できるようになった
  • テスト用アカウントのデータが存在しない場合もあるので、シードデータも合わせて用意する必要がある
  • 本番環境への誤デプロイ防止として、NODE_ENV チェックだけでなくビルド時にデッドコード除去される仕組みが望ましい
shwldshwld