Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TypeScriptの型システムを活用した複合認証システムの設計パターン

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Kanato Kanato
November 24, 2025
15

 TypeScriptの型システムを活用した複合認証システムの設計パターン

Avatar for Kanato

Kanato

November 24, 2025
Tweet

Transcript

  1. © toggle holdings inc. 2
 ⾼橋哉⼈ 所属 トグルホールディングス 25卒 X

    @kanayan_toggle ※哉⼈で「かなと」と読みます
  2. 9
 © toggle holdings inc. • メールを無限に送れる仕様になってない? • 認証コード不一致 or

    期限切れなどのエラーを正しく返すか • タブを複数開いてそれぞれでログインしたらどうなるか 次々出てくる確認ポイント
  3. 12
 © toggle holdings inc. • タブを同時に 2つ開いてどっちもログインするとエラーになる 😥 •

    10分経過後にコード入力してもエラー出ない 😨 • 10分経過後に再送信ボタン押すとなぜかログインできる 😱 etc… 不具合の例
  4. 15
 © toggle holdings inc. • 問題に場当たり的に対応し、各コンポーネントが肥大化 →状態管理が困難に • エラーハンドリングが曖昧

    (未ログイン・セッション無効・認証 コードの不一致・トークン期限切れ ) 悲劇の原因
  5. 22
 © toggle holdings inc. リファクタリング • フローチャートを元に、各クラスの役割を明確にした上で責任分離 ◦ アクセス制御、認証、認可、記録

    …といったフェーズを明示的に定 義して、それを transactionとserviceで表す • Zodを用いて、フロントエンドとバックエンド境界の型安全性を担保しつ つ正しいエラーレスポンスを定義
  6. 28
 © toggle holdings inc. まとめ • 複雑な実装は視覚的に整理 • 新規の実装に場当たり的に対処しない

    • アーキテクチャに則った責任分離を意識 • 試行錯誤しながらも無事にリリースできた