セットアップウィザード
Authrim セットアップウィザードは、AuthrimをCloudflareにデプロイするための直感的なWebベースのインターフェースを提供します。このガイドでは、セットアッププロセスの各ステップを説明します。
始める前に
必要なもの
セットアップウィザードを実行する前に、以下を準備してください:
| 要件 | 詳細 |
|---|---|
| Cloudflareアカウント | 開発用には無料プランで十分。本番環境にはWorkers Paid プラン推奨。 |
| Node.js | バージョン18以降 |
| npm | Node.jsに含まれています |
事前に準備しておくと良い情報
以下を事前に決めておくとスムーズです:
- 環境名: このデプロイメントの識別名(例:
prod、staging、dev) - カスタムドメイン(任意):
*.workers.devではなく独自ドメインを使用する場合 - メールサービスの認証情報(任意): OTPメール送信用のResend等のAPIキー
Cloudflareプランの考慮事項
| 機能 | 無料プラン | Workers Paid ($5/月) |
|---|---|---|
| 基本的なOIDC機能 | ✅ | ✅ |
| カスタムドメイン | ❌ | ✅ |
| 高いリクエスト制限 | 制限あり | ✅ |
| 本番利用 | 非推奨 | ✅ |
セットアップウィザードの起動
以下のコマンドを実行してセットアップウィザードを起動します:
npx @authrim/setupウィザードは以下を実行します:
- 前提条件の確認(Wrangler CLIとCloudflare認証)
- Authrimソースコードのダウンロード(存在しない場合)
- セットアップUIをWebブラウザで開く
ステップ1: 前提条件チェック

ウィザードは環境の準備状況を確認します:
Wrangler CLI
WorkersをデプロイするためのCloudflareコマンドラインツールです。インストールされていない場合:
npm install -g wranglerCloudflare認証
Cloudflareアカウントにログインしている必要があります。認証されていない場合:
wrangler loginブラウザウィンドウが開き、CloudflareとのOAuth認証が完了します。
ウィザードが確認する項目
- ✅ Wranglerがインストールされアクセス可能
- ✅ Cloudflareにログイン済み
- ✅ アカウントIDが有効
- ✅ 現在の作業ディレクトリが書き込み可能
ステップ2: メインメニュー

3つのオプションから選択します:
| オプション | 使用するタイミング |
|---|---|
| 新規セットアップ | 初めてAuthrimをデプロイする場合、または新しい環境を作成する場合 |
| 設定ファイルの読み込み | 以前のセットアップで保存した authrim-config.json がある場合 |
| 環境の管理 | 既存のデプロイメントを表示、更新、または削除する場合 |
ステップ3: セットアップモード

クイックセットアップ(推奨)
ほとんどのユーザーに最適です。自動的に設定されるもの:
- 標準的なOIDCコンポーネント(auth、token、userinfo、discovery)
- ログインUIと管理UI
- 適切なセキュリティデフォルト
カスタムセットアップ
以下の場合に選択してください:
- オプションのコンポーネントを有効にする(SAML IdP、デバイスフロー、Verifiable Credentials)
- 特定のコンポーネントのみを設定する
- 詳細設定を調整する
ステップ4: 設定

環境名
環境名は、このデプロイメントの一意の識別子です。すべてのCloudflareリソースのプレフィックスとして使用されます。
推奨される命名:
| 環境 | 用途 |
|---|---|
prod | 本番環境 - 実際のユーザー向け |
staging | 本番前のテスト用 |
dev | 開発と実験用 |
同じCloudflareアカウント下で複数の環境を同時に実行できます(例:prod と staging)。
ドメイン設定
オプション1: workers.dev を使用(デフォルト)
- 追加の設定は不要
- URLは次のようになります:
https://prod-ar-router.your-account.workers.dev - 開発とテストに適しています
- 制限: マルチテナントURLのワイルドカードサブドメインは使用不可
オプション2: カスタムドメイン
- Workers Paidプランが必要
- URLは次のようになります:
https://auth.yourdomain.com - 本番環境に適したプロフェッショナルな外観
- マルチテナントサブドメインをサポート:
https://tenant1.auth.yourdomain.com
カスタムドメインを使用するには:
- ドメインをCloudflareに追加(DNS管理)
- セットアップウィザードでドメインを入力
- ウィザードが必要なDNSレコードを設定
ネイキッドドメインオプション
チェックすると、発行者URLは https://default.auth.yourdomain.com ではなく https://auth.yourdomain.com になります。以下の場合に選択:
- シングルテナントのみ必要な場合
- よりクリーンなURLを好む場合
デフォルトテナント
Authrimは、1つのデプロイメントで複数のテナント(組織)をサポートします。
- テナントID: 内部識別子(例:
default、acme、corp) - 表示名: ログイン画面に表示される名前(例:「My Company」、「ACME Corp」)
シングルテナント構成の場合は、デフォルト値のままで構いません。
UIドメイン(オプション)
デフォルトでは、ログインUIと管理UIは自動生成されたURLでCloudflare Pagesにデプロイされます。必要に応じて、それぞれにカスタムドメインを設定できます。
ステップ5: データベース設定

Authrimはセキュリティとコンプライアンスのために2つの別々のデータベースを使用します:
コアデータベース(非PII)
個人を特定しない運用データを格納:
- OAuthクライアント設定
- 認可コードとトークン(ハッシュ化)
- テナント設定
- システム監査ログ
PIIデータベース(個人データ)
個人を特定できる情報を格納:
- ユーザープロファイル(名前、メールアドレス)
- 認証情報(ハッシュ化されたパスワード、パスキーデータ)
- ユーザー設定
なぜデータベースを分離するのか?
- コンプライアンス: GDPR、CCPAなどのデータ保護要件への対応が容易
- セキュリティ: PIIに対してより厳格なアクセス制御が可能
- データ居住地: 法的要件に応じてPIIデータベースを特定のリージョンに配置可能
リージョンの選択
以下を基準にリージョンを選択してください:
| 考慮事項 | 推奨 |
|---|---|
| ユーザーの所在地 | ほとんどのユーザーに最も近いリージョンを選択(パフォーマンス向上) |
| データ居住地の法律 | EUのユーザーがいる場合、GDPR準拠のためWEURを検討 |
| 企業の要件 | 一部の組織では特定のデータ場所を義務付けている |
利用可能なリージョン:
- 自動: Cloudflareが最も近いリージョンを選択(グローバルユーザーに適しています)
- WNAM: 北米西部(米国西海岸)
- ENAM: 北米東部(米国東海岸)
- WEUR: 西ヨーロッパ(EUデータ居住地に適しています)
- APAC: アジア太平洋
重要: データベースリージョンは作成後に変更できません。本番デプロイメントでは慎重に選択してください。
典型的な構成例
| シナリオ | コアDBリージョン | PIIDBリージョン |
|---|---|---|
| 米国ベースのユーザー | WNAMまたはENAM | コアと同じ |
| GDPR要件があるEUユーザー | WEUR | WEUR |
| グローバルユーザー、データ居住地要件なし | 自動 | 自動 |
| アジア太平洋のユーザー | APAC | APAC |
ステップ6: メール設定

メールは以下の目的で使用されます:
- ログイン時のワンタイムパスワード(OTP)検証
- パスワードリセットリンク
- アカウント確認メール
今すぐ設定する(本番環境推奨)
Resend はシンプルさと無料枠があるため推奨:
- resend.com でアカウントを作成
- ドメインを追加して検証(DNSアクセスが必要)
- APIキーを生成
- ウィザードで入力:
- APIキー: ResendのAPIキー
- 送信元アドレス: 例:
[email protected](検証済みドメインからである必要があります)
今はスキップする(開発専用)
メール設定をスキップした場合:
- OTPコードはコンソールにログ出力されます(Cloudflareダッシュボードのログで確認可能)
- パスワードリセットは機能しません
- 開発には適していますが、本番環境には不適切
メールは後から管理UIで設定できます。
ステップ7: 設定の保存(オプション)

プロビジョニング前に、設定をJSONファイルに保存できます。
保存のメリット:
- 中断した場合に後でセットアップを再開
- 同一の環境を作成(例:本番設定からステージングを作成)
- インフラ設定をバージョン管理
- チームメンバーと設定を共有
ファイルは現在のディレクトリに authrim-config.json として保存されます。
ステップ8: プロビジョニング

設定サマリーを確認し、リソースを作成 をクリックします。
作成されるもの
| リソース | 目的 |
|---|---|
| D1データベース (×2) | コアデータとPIIストレージ |
| KV名前空間 | セッションストレージ、設定キャッシュ、状態管理 |
| RSAキー | アクセストークンとIDトークンのJWT署名 |
| AESキー | 保存時の機密データの暗号化 |

プロビジョニングには通常1〜2分かかります。ウィザードはリアルタイムで進捗を表示します。
プロビジョニングが失敗した場合:
- Cloudflareアカウントに十分なクォータがあることを確認
- 必要な権限があることを確認
- 再試行してください - クラウドAPIでは一時的なエラーは一般的です
ステップ9: デプロイメント

プロビジョニング後、デプロイ開始 をクリックしてアプリケーションをデプロイします。

デプロイプロセス
- ビルド: すべてのTypeScriptコードをコンパイル
- Workersデプロイ: APIエンドポイントをCloudflare Workersにアップロード
- UIデプロイ: ログインUIと管理UIをCloudflare Pagesにアップロード
- マイグレーション実行: データベーステーブルと初期データを作成
- シークレットアップロード: 暗号化キーを安全に保存
デプロイには通常3〜5分かかります。
ステップ10: 完了

Authrimのデプロイメントが完了しました!
重要なURL
| URL | 目的 |
|---|---|
| 発行者URL | OIDCプロバイダーエンドポイント。アプリケーションのOIDC設定でこれを使用します。 |
| 管理者セットアップ | 最初の管理者アカウントを作成するためのワンタイムURL。すぐにアクセスしてください! |
| ログインUI | ユーザーがログインする場所 |
| 管理UI | ユーザー、クライアント、設定を管理するダッシュボード |
すぐにやるべきこと
-
管理者アカウントの作成(最初にこれを実行!)
- 完了画面に表示される管理者セットアップURLにアクセス
- パスキー(TouchID、FaceID、またはセキュリティキー)を使用して登録
- このURLは有効期限があり、一度しか使用できません
-
管理UIにログイン
- 新しく作成した管理者アカウントを使用
- ダッシュボードを確認
-
最初のOAuthクライアントを作成
- クライアント → クライアントを作成 に移動
- アプリケーションのリダイレクトURIを入力
- クライアントIDとシークレットを保存
-
統合をテスト
- 発行者URLとクライアント認証情報でアプリケーションを設定
- ログインフローをテスト
例: アプリケーションの設定
完了画面から以下の値を使用してください:
// OIDC設定の例const oidcConfig = { issuer: 'https://your-issuer-url', clientId: 'your-client-id', clientSecret: 'your-client-secret', redirectUri: 'https://your-app.com/callback', scope: 'openid profile email'};コマンドラインオプション
# Web UIの代わりにCLIモードを使用npx @authrim/setup --cli
# 既存の設定を読み込みnpx @authrim/setup --config ./authrim-config.json
# 言語を指定(en, ja, zh-CN, zh-TW, es, pt, fr, de, ko, ru, id)npx @authrim/setup --lang ja
# 環境を直接指定npx @authrim/setup --env stagingトラブルシューティング
サーバーが起動しない
ポート3456が使用中の可能性があります:
# macOS/Linuxlsof -ti:3456 | xargs kill -9
# Windowsnetstat -ano | findstr :3456taskkill /PID <PID> /F「Wranglerが見つかりません」
npm install -g wranglerノードバージョンマネージャー(nvm、fnm)を使用している場合は、グローバルbinがPATHに含まれていることを確認してください。
「Cloudflareにログインしていません」
wrangler loginログインが失敗する場合:
wrangler logoutwrangler loginレート制限エラーでデプロイメントが失敗
CloudflareにはAPIレート制限があります。1〜2分待ってから 再試行 をクリックしてください。
カスタムドメインが機能しない
- ドメインがCloudflareに追加されていることを確認
- DNSレコードが正しく設定されていることを確認
- DNS伝播を待つ(最大24時間かかる場合があります)
- Workers Paidプランがあることを確認
データベース作成が失敗
- CloudflareアカウントにD1アクセスがあることを確認
- 無料アカウントには限られたD1データベースがあります - 未使用のものを削除
- 問題が発生しているリージョンの場合は別のリージョンを試す