スターターアプリ
認証と管理アプリ
Better Auth、アカウント ID、個人組織、MFA 必須の独立管理アプリを設定します。
スターターのコミット
7d452a6と同期済みです。
Sushi SaaS は Better Auth でメール/パスワード、メール確認、パスワード回復、session、任意の Google OAuth、2FA を提供します。新規ユーザーごとに個人組織が作られ、チーム機能も実装済みです。
BETTER_AUTH_SECRET、BETTER_AUTH_URL、NEXT_PUBLIC_AUTH_BASE_URL、Web URL を設定します。Google は任意です。本番の登録と機密フローには Redis の分散 rate limit と Turnstile が必要です。Resend がメールを送り、ローカルでは provider 未設定または AUTH_DEV_EMAIL_LINKS=true のときリンクを安全にログ出力できます。この値は本番で拒否されます。
ID と認可
- Better Auth の文字列 ID が認証 ID、
user.uuidが公開 domain ID です。 - メールと provider は一意ですが、メールで認可しません。
- 組織 role(
owner、admin、member)が操作を、plan entitlement が機能と上限を決めます。 - route はデータ参照前に認証し、client は内部 message でなく安定した error code を翻訳します。
独立管理アプリ
pnpm dev:admin は 3001 番で起動します。apps/admin は独自 origin と auth URL で別デプロイします。pnpm admin:promote で昇格し、admin_ro は閲覧、admin_rw は変更が可能です。MFA は必須で、書き込みは監査記録になります。組織 role を platform admin role に流用しません。
公開前に登録、確認、ログイン、回復、Google callback、session 失効、MFA、両 admin 権限をテストしてください。デプロイと運用担当者の導入は、専用の管理コンソールのセットアップとアクセスに従ってください。