FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
Doctor診断を新しい認証境界へ合わせる
認証、backend identity、Edge Functionを順に確かめ、失敗時は後続確認を止める
目的
管理画面がAccess認証へ移った後も、常駐collectorはSupabase AuthとEdge Functionを使い続ける。Doctorが古いbrowser直結前提のtable accessを検査せず、実際のcollector経路だけを正しく診断する必要があった。
実装
Backend healthは認証済みuserを確認し、collectorがEdge Function経由で動くことと、直接table accessが不要であることを返すようにした。旧来のtable読込は診断から外した。
Doctorの順序を認証、backend identity、Function healthに固定した。認証に失敗した場合は後続requestを送らずfail closedとし、Function確認はsession付きのOPTIONSが期待する成功応答を返した場合だけ成功と判定する。片方でも拒否や欠落、server errorなら失敗にする。
一次Commitで追加されたDoctorの段階診断を示す。messageを短縮した公開説明では、認証状態、backend、functionを順序付きで確認し、前段失敗時に後段をskippedとする構造は維持した。
図を描画しています…
確認したこと
確認結果
認証失敗時にbackendとFunctionの確認がskipされ、未認証requestが送られないことをtestで確認した。
両方のEdge Functionについて成功、認証拒否、未配置、server errorを区別し、失敗時にも確認済みのowner identityを保持することを確認した。
cutoff時点でDoctorは実際のcollector access pathへ合わせて反映済みだった。
完了とした根拠
古い直接table accessに依存せず、認証から2つのEdge Functionまでを順序付きかつfail closedで診断できることを確認して完了とした。