コンテンツにスキップ

クイックスタート

Authrimインスタンスを数分で起動しましょう。

開始前に、以下を確認してください:

Terminal window
git clone https://github.com/sgrastar/authrim.git
cd authrim
Terminal window
pnpm install
Terminal window
wrangler login

4. セットアップウィザードを実行

Section titled “4. セットアップウィザードを実行”

@authrim/setup CLIツールを使用して環境を自動設定します:

Terminal window
npx @authrim/setup --cli

または、対話式Web UIを起動:

Terminal window
npx @authrim/setup

セットアップウィザードは以下を行います:

  • 暗号鍵の生成(JWT署名用のRSA)
  • 環境変数を含む.dev.varsの作成
  • ローカル開発用のwrangler.tomlの生成
  • キャッシュ、設定、テナントランタイムスナップショット用KV名前空間のセットアップ
  • デプロイ単位のD1データベース(DBDB_PIIDB_ADMIN)の作成
  • runtime profilesのseedとcore、PII、admin migrationの適用
  • @authrim/ar-lib-core からDurable Objectsをデプロイ
オプション説明
--cliCLIモードを使用(Web UIなし)
--env <env>環境を指定(devstagingprodなど)
--lang ja日本語を使用
Terminal window
pnpm run dev

すべてのワーカーが開発モードで起動します。エンドポイントはhttp://localhost:8787でアクセスできます。

ディスカバリーエンドポイントをテスト:

Terminal window
curl http://localhost:8787/.well-known/openid-configuration | jq

以下のようなOpenID Connectディスカバリードキュメントが表示されるはずです:

{
"issuer": "http://localhost:8787",
"authorization_endpoint": "http://localhost:8787/authorize",
"token_endpoint": "http://localhost:8787/token",
"userinfo_endpoint": "http://localhost:8787/userinfo",
"jwks_uri": "http://localhost:8787/.well-known/jwks.json"
}

JWKSエンドポイントをテスト:

Terminal window
curl http://localhost:8787/.well-known/jwks.json | jq

ブラウザで以下のURLにアクセスして認可フローをテスト:

http://localhost:8787/authorize?response_type=code&client_id=test-client&redirect_uri=http://localhost:3000/callback&scope=openid&state=random-state
git clone + pnpm install
wrangler login
npx @authrim/setup --cli ← すべてを自動設定
pnpm run dev

レガシーセットアップ(手動)

Section titled “レガシーセットアップ(手動)”

詳細なカスタマイズやトラブルシューティングには、個別のスクリプトを使用できます。これはソースリポジトリ向けのワークフローであり、通常はsetup CLIの利用を推奨します:

Terminal window
# 鍵を生成
./scripts/setup-keys.sh
# ローカル環境を設定
./scripts/setup-local-vars.sh
./scripts/setup-local-wrangler.sh
# クラウドリソースをセットアップ
./scripts/setup-kv.sh --env=dev
./scripts/setup-d1.sh --env=dev
./scripts/setup-durable-objects.sh
# オプション:メール設定(OTP認証用)
./scripts/setup-resend.sh --env=local

tenant-D1デプロイでは、生成されるテナントDB slotをsetup CLIで管理します:

Terminal window
npx @authrim/setup tenant-db-pool-status --env prod
npx @authrim/setup tenant-db-pool-expand --env prod --add-slots 10
npx @authrim/setup tenant-db-migrate-all --env prod