← 活動記録一覧

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とする構造は維持した。

認証境界に合わせた段階診断とskipped判定

図を描画しています…

確認したこと

確認結果

認証失敗時にbackendとFunctionの確認がskipされ、未認証requestが送られないことをtestで確認した。

両方のEdge Functionについて成功、認証拒否、未配置、server errorを区別し、失敗時にも確認済みのowner identityを保持することを確認した。

cutoff時点でDoctorは実際のcollector access pathへ合わせて反映済みだった。

完了とした根拠

古い直接table accessに依存せず、認証から2つのEdge Functionまでを順序付きかつfail closedで診断できることを確認して完了とした。