クイックスタート
Authrimインスタンスを数分で起動しましょう。
前提条件
開始前に、以下を確認してください:
1. リポジトリをクローン
git clone https://github.com/sgrastar/authrim.gitcd authrim2. 依存関係をインストール
pnpm install3. Cloudflareにログイン
wrangler login4. 鍵を生成
./scripts/setup-keys.shこれにより以下が生成されます:
.keys/private.pem- JWT署名用の秘密鍵.keys/public.jwk.json- JWK形式の公開鍵.keys/metadata.json- Key IDを含むメタデータ
5. ローカル環境を設定
# 環境変数を含む.dev.varsを作成./scripts/setup-local-vars.sh
# ローカル開発用のwrangler.tomlを生成./scripts/setup-local-wrangler.sh6. クラウドリソースをセットアップ
# KV名前空間を作成(デフォルト設定を自動初期化)./scripts/setup-kv.sh --env=dev
# D1データベースを作成./scripts/setup-d1.sh
# Durable Objectsをデプロイ./scripts/setup-durable-objects.sh7. 開発サーバーを起動
pnpm run devすべてのワーカーが開発モードで起動します。エンドポイントはhttp://localhost:8787でアクセスできます。
8. セットアップを確認
ディスカバリーエンドポイントをテスト:
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エンドポイントをテスト:
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