評価と調整

Sushi SaaS の認証の仕組み

既定のログイン経路を確認し、認証方式、メール確認、MFA、テナント設計、不正対策のどれを維持するか判断します。

このガイドは、認証を単なるログイン画面ではなく、プロダクト上の判断として扱うためのものです。Sushi SaaS は Better Auth でユーザーの ID を管理し、スターター全体に必要なテナント分離、アカウント復旧、モデレーション、監査の規則を追加します。

既定のユーザージャーニー

  1. ユーザーはメールアドレスとパスワードで登録します。Google 用の二つの OAuth 認証情報が設定されていれば、Google ログインも使えます。
  2. パスワードで登録した場合は、メールアドレスの確認が必須です。確認後に、一度限りの新規登録クレジットをジョブキューへ追加できます。
  3. 登録時に個人用の組織を作ります。フックが途中で止まっても、後続の修復処理で補います。
  4. アカウントの状態と停止状況の確認を通過した場合だけ、セッションを作ります。
  5. パスワードを再設定した後は、既存のセッションを失効させます。

顧客アカウントでも二要素認証を利用できますが、顧客アプリでは任意です。独立した管理コンソールでは、admin_ro または admin_rw の権限に加えて、MFA が必須です。

設定は 7580470src/lib/auth.ts にあります。環境変数とコールバック URL は認証と管理を参照してください。

公開前に決めること

判断既定の選択変更する場面
ログイン方法メールアドレスとパスワード。設定済みなら Googleパスワードレス認証、企業向け SSO、別の認証事業者が必要な場合
メール確認パスワード登録では必須未確認アカウントを許容できる場合。登録特典を渡す時点も再設計する
顧客の MFA利用でき、使用はユーザーが選ぶ機密性の高い操作に追加認証または必須 MFA が必要な場合
管理者の MFA必須同等に強い運用アクセス方針に置き換える場合を除き、維持する
ボット対策有効時は Turnstile が認証情報とメール関連エンドポイントを保護。本番設定に不足があれば安全側に停止する別のエッジ制御や ID 基盤を使う場合。検証処理とテストも更新する
テナント作成全アカウントに個人用の組織を作る常に一人で使う製品で、組織の範囲を全レイヤーから除く場合

メール確認だけを無効にして、新規登録クレジットの付与を確認フックに残してはいけません。付与処理を移動または削除するか、アカウントの信頼性を別の方法で確認するかを決めます。

本人確認と認可は別物

有効なセッションが示すのは「誰であるか」だけで、すべての組織データへの権限ではありません。組織内の役割が実行できる操作を、プランの権限が組織の利用できる機能を決めます。Sushi SaaS はこの三つを分離しています。

Better Auth の組織プラグインが owneradminmember の仕組みを担い、アプリケーションサービスが利用人数の上限、最後の所有者の保護、全ユーザーが少なくとも一つの組織に属するという規則を追加します。汎用の組織削除は、認証テーブルだけを消して課金データやプロダクトデータを取り残すため、無効にしています。

役割やテナントの選択方法を変える前に、組織とチームを確認してください。

アカウント復旧と不正対策

Turnstile は、認証情報を扱うエンドポイントとメール関連のエンドポイントを保護できます。登録時の確認はパスワード認証と OAuth の両方を対象にし、セッション作成時にはログイン方法を問わず、停止中または削除処理中のアカウントを拒否します。ユーザーにはサーバーの生メッセージではなく、エラーコードに対応する翻訳済みの文面を表示します。

技術的な仕組みだけでなく、運用方針は自分で決める必要があります。誰がアカウントを停止できるか、異議申立てをどう扱うか、セッションの有効期間、保持するイベント、サポート担当者が変更できる範囲を定義してください。

本番前のテスト計画

  • 新規登録、確認メールの再送、期限切れ、確認後のログインを試します。
  • パスワード再設定後に、以前のセッションが無効になることを確認します。
  • 本番オリジンですべての OAuth コールバックを試します。
  • MFA の登録、検証、復旧、無効化を試し、バックアップコードが保護されることを確認します。
  • 招待時の利用人数上限と、最後の所有者を守る処理を並行実行で試します。
  • 二つの管理者権限を初期設定し、管理用オリジンで MFA が強制されることを確認します。

運用経路については管理コンソールの設定へ進んでください。本ガイドはコミット 7580470 に基づきます。

Sushi SaaS の認証の仕組み · Sushi SaaS