リクエストのたびに張り直していたデータベースとキャッシュへの接続を、ワーカー単位で使い回せるようにした変更。接続を再利用したときの「前の作業の残り」と「2 本の取り違え」をどう塞いだか
クラウドの秘密保管サービスをファイルとして貼り付けると、読むたびに遠くへ取りに行く。毎リクエスト読んでいたため 9 秒の遅延がそのまま障害になった件と、起動時に 1 回だけ写し取る修正
OIDC の auth_time クレームがリフレッシュのたびに現在時刻へ上書きされ、RP 側の max_age / step-up 再認証が永久に発火しなくなっていたバグと、部品単体のテストでは見えない合成の穴の話
外部サービス連携の OAuth で、照合用トークンが偽造・並行消費・開始ブラウザ未検証だった 3 つの問題と、その直し方
OAuth のアクセストークンは「開けてよい」としか言わず利用者が誰かを含まない。OIDC が署名付き ID トークンを足して、その一言を標準の形で載せた話
未ログインのログアウトがセッション ID を付け替え、進行中のログインを壊していた話。空のセッションなら何もしない
複数の組織に属するユーザーのログインで、組織を選ぶ前にセッションを渡さず、1 回きり・5 分で失効する引換券トークンを挟む設計
lint のキャッシュキーが設定内の関数を写し取れず、ルール変更に気づけなかった話。プラグインのバージョンを設定に書いて解決
ESLint の --cache が CI で効かなかった 3 つの理由。中身でキャッシュする、チェッカーごとに分ける、共有の置き場に保存する
プロジェクトを切り替えたとき、前のプロジェクトの状態が残って別プロジェクトのデータに混ざっていた話。切替前のリセットと、遅れて返る非同期処理の破棄