Skip to the content.

0008. 認証を Clerk → Auth.js + Email Magic Link に移行する

Context

resource-planner は当初 Clerk dev instance + Microsoft Social Connection で認証を実装した。 Microsoft Social Connection を本番化するには Azure 管理画面で Custom OAuth App を登録する 必要があるが、社内ポリシーで Azure テナントへの管理アクセスが取れない状況が続いた。

このまま Clerk dev instance に依存し続けると以下が問題:

並行して以下の事象も観測:

社内利用は本番投入前段階で、データ移行コストはゼロ。

Decision

Clerk を撤去し、Auth.js (@auth/sveltekit) + Email Magic Link (Nodemailer) に移行する

選定の根拠:

実装方針:

PR 構成 (Phase 3):

  1. PR-A1 (#80): Auth.js 基盤 + lib/auth.ts 抽象 (構造のみ、Clerk 並行稼働)
  2. PR-A2 (#82): Team モデル + GSI1 + ORG → TEAM rename + DDB adapter 配線
  3. PR-A3 (#84): Magic Link provider + sign-in UI + ドメイン制限
  4. PR-A4 (#86): SES infra + AUTH_SECRET SSM + Lambda IAM/env
  5. PR-A5 (#87、本 ADR を含む): Clerk 完全撤去 + docs + ADR

Consequences

Positive

Negative

Neutral

Alternatives considered

References