コンテンツにスキップ

セットアップウィザード

Authrim セットアップウィザードは、AuthrimをCloudflareにデプロイするための直感的なWebベースのインターフェースを提供します。このガイドでは、セットアッププロセスの各ステップを説明します。

始める前に

必要なもの

セットアップウィザードを実行する前に、以下を準備してください:

要件詳細
Cloudflareアカウント開発用には無料プランで十分。本番環境にはWorkers Paid プラン推奨。
Node.jsバージョン18以降
npmNode.jsに含まれています

事前に準備しておくと良い情報

以下を事前に決めておくとスムーズです:

  • 環境名: このデプロイメントの識別名(例:prodstagingdev
  • カスタムドメイン(任意): *.workers.dev ではなく独自ドメインを使用する場合
  • メールサービスの認証情報(任意): OTPメール送信用のResend等のAPIキー

Cloudflareプランの考慮事項

機能無料プランWorkers Paid ($5/月)
基本的なOIDC機能
カスタムドメイン
高いリクエスト制限制限あり
本番利用非推奨

セットアップウィザードの起動

以下のコマンドを実行してセットアップウィザードを起動します:

Terminal window
npx @authrim/setup

ウィザードは以下を実行します:

  1. 前提条件の確認(Wrangler CLIとCloudflare認証)
  2. Authrimソースコードのダウンロード(存在しない場合)
  3. セットアップUIをWebブラウザで開く

ステップ1: 前提条件チェック

前提条件チェック

ウィザードは環境の準備状況を確認します:

Wrangler CLI

WorkersをデプロイするためのCloudflareコマンドラインツールです。インストールされていない場合:

Terminal window
npm install -g wrangler

Cloudflare認証

Cloudflareアカウントにログインしている必要があります。認証されていない場合:

Terminal window
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アカウント下で複数の環境を同時に実行できます(例:prodstaging)。

ドメイン設定

オプション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

カスタムドメインを使用するには:

  1. ドメインをCloudflareに追加(DNS管理)
  2. セットアップウィザードでドメインを入力
  3. ウィザードが必要なDNSレコードを設定

ネイキッドドメインオプション

チェックすると、発行者URLは https://default.auth.yourdomain.com ではなく https://auth.yourdomain.com になります。以下の場合に選択:

  • シングルテナントのみ必要な場合
  • よりクリーンなURLを好む場合

デフォルトテナント

Authrimは、1つのデプロイメントで複数のテナント(組織)をサポートします。

  • テナントID: 内部識別子(例:defaultacmecorp
  • 表示名: ログイン画面に表示される名前(例:「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ユーザーWEURWEUR
グローバルユーザー、データ居住地要件なし自動自動
アジア太平洋のユーザーAPACAPAC

ステップ6: メール設定

メール設定

メールは以下の目的で使用されます:

  • ログイン時のワンタイムパスワード(OTP)検証
  • パスワードリセットリンク
  • アカウント確認メール

今すぐ設定する(本番環境推奨)

Resend はシンプルさと無料枠があるため推奨:

  1. resend.com でアカウントを作成
  2. ドメインを追加して検証(DNSアクセスが必要)
  3. APIキーを生成
  4. ウィザードで入力:
    • 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: デプロイメント

デプロイ準備完了

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

デプロイ中

デプロイプロセス

  1. ビルド: すべてのTypeScriptコードをコンパイル
  2. Workersデプロイ: APIエンドポイントをCloudflare Workersにアップロード
  3. UIデプロイ: ログインUIと管理UIをCloudflare Pagesにアップロード
  4. マイグレーション実行: データベーステーブルと初期データを作成
  5. シークレットアップロード: 暗号化キーを安全に保存

デプロイには通常3〜5分かかります。

ステップ10: 完了

セットアップ完了

Authrimのデプロイメントが完了しました!

重要なURL

URL目的
発行者URLOIDCプロバイダーエンドポイント。アプリケーションのOIDC設定でこれを使用します。
管理者セットアップ最初の管理者アカウントを作成するためのワンタイムURL。すぐにアクセスしてください!
ログインUIユーザーがログインする場所
管理UIユーザー、クライアント、設定を管理するダッシュボード

すぐにやるべきこと

  1. 管理者アカウントの作成(最初にこれを実行!)

    • 完了画面に表示される管理者セットアップURLにアクセス
    • パスキー(TouchID、FaceID、またはセキュリティキー)を使用して登録
    • このURLは有効期限があり、一度しか使用できません
  2. 管理UIにログイン

    • 新しく作成した管理者アカウントを使用
    • ダッシュボードを確認
  3. 最初のOAuthクライアントを作成

    • クライアント → クライアントを作成 に移動
    • アプリケーションのリダイレクトURIを入力
    • クライアントIDとシークレットを保存
  4. 統合をテスト

    • 発行者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'
};

コマンドラインオプション

Terminal window
# 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が使用中の可能性があります:

Terminal window
# macOS/Linux
lsof -ti:3456 | xargs kill -9
# Windows
netstat -ano | findstr :3456
taskkill /PID <PID> /F

「Wranglerが見つかりません」

Terminal window
npm install -g wrangler

ノードバージョンマネージャー(nvm、fnm)を使用している場合は、グローバルbinがPATHに含まれていることを確認してください。

「Cloudflareにログインしていません」

Terminal window
wrangler login

ログインが失敗する場合:

Terminal window
wrangler logout
wrangler login

レート制限エラーでデプロイメントが失敗

CloudflareにはAPIレート制限があります。1〜2分待ってから 再試行 をクリックしてください。

カスタムドメインが機能しない

  1. ドメインがCloudflareに追加されていることを確認
  2. DNSレコードが正しく設定されていることを確認
  3. DNS伝播を待つ(最大24時間かかる場合があります)
  4. Workers Paidプランがあることを確認

データベース作成が失敗

  • CloudflareアカウントにD1アクセスがあることを確認
  • 無料アカウントには限られたD1データベースがあります - 未使用のものを削除
  • 問題が発生しているリージョンの場合は別のリージョンを試す

関連ドキュメント