Menu

ユーザー認証とデータベース

前提条件

新機能の開発を始める前に、以下の前提条件を満たしていることを確認してください:

アーキテクチャ概要

lib/auth/
├── auth-client.ts      # Better-authクライアント定義
├── index.ts            # Better-authコア設定
└── server.ts           # サーバーサイド共通メソッド、含む:セッション取得、現在のユーザーが管理者かどうかチェック
 
lib/db/
├── migrations/         # `npm run db:generate`コマンドで生成されたマイグレーションファイル
├── config.ts           # データベースパラメータ設定、自動処理
├── index.ts            # Drizzle ORM設定エントリーポイント
└── schema.ts           # データベーステーブル定義
 
components/auth/
├── AuthGuard.tsx       # ルートガード、ログイン必須アクセスと管理者限定ルートを保護
├── GoogleOneTap.tsx    # Google One Tapログインスクリプト
├── LoginDialog.tsx     # ログインモーダルダイアログ
└── LoginForm.tsx       # ログインフォーム
 
actions/
├── users/              # ユーザー関連データベース操作
├── team/               # チーム管理ページのデータ層
├── blogs/              # ブログ関連データベース操作
└── .../                # その他

チーム機能

v4.0.0 以降、Better Auth organization プラグインによるチーム機能を内蔵しています。組織を課金主体とし、共有クレジットプール、シート管理、メール招待に対応します。詳細はチームと組織を参照してください。

以下の文書では、現在のアーキテクチャについてさらに詳しく説明します。