コンテンツにスキップ

クイックスタート

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

前提条件

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

1. リポジトリをクローン

Terminal window
git clone https://github.com/sgrastar/authrim.git
cd authrim

2. 依存関係をインストール

Terminal window
pnpm install

3. Cloudflareにログイン

Terminal window
wrangler login

4. 鍵を生成

Terminal window
./scripts/setup-keys.sh

これにより以下が生成されます:

  • .keys/private.pem - JWT署名用の秘密鍵
  • .keys/public.jwk.json - JWK形式の公開鍵
  • .keys/metadata.json - Key IDを含むメタデータ

5. ローカル環境を設定

Terminal window
# 環境変数を含む.dev.varsを作成
./scripts/setup-local-vars.sh
# ローカル開発用のwrangler.tomlを生成
./scripts/setup-local-wrangler.sh

6. クラウドリソースをセットアップ

Terminal window
# KV名前空間を作成(デフォルト設定を自動初期化)
./scripts/setup-kv.sh --env=dev
# D1データベースを作成
./scripts/setup-d1.sh
# Durable Objectsをデプロイ
./scripts/setup-durable-objects.sh

7. 開発サーバーを起動

Terminal window
pnpm run dev

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

8. セットアップを確認

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

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

セットアップフローの概要

setup-keys.sh
setup-local-vars.sh
setup-local-wrangler.sh
setup-kv.sh --env=dev ← 設定を自動初期化
setup-d1.sh + setup-durable-objects.sh
setup-resend.sh --env=local(オプション、メール用)
pnpm run dev

次のステップ