1,767
// 概要
この TypeScript ライブラリは Cloudflare Workers 上で OAuth 2.1 プロバイダーを実装するための堅牢なフレームワークを提供します。トークン管理とリクエスト認証を自動化することで、開発者は複雑なセキュリティプロトコルを扱うことなく API ロジックの構築に集中できます。このフレームワークは柔軟性が高く、特定の UI 実装やユーザー管理システムに依存せず、ハッシュ化されたシークレットを通じて安全なストレージを確保します。
// 技術解説
この TypeScript ライブラリは Cloudflare Workers 向けに特別に設計された堅牢な OAuth 2.1 プロバイダーフレームワークであり、複雑なプロトコルの要件を扱いやすいラッパーに抽象化します。トークン管理、PKCE サポート、RFC 準拠のメタデータ検出を自動的に処理することで、開発者はセキュリティの定型コードではなくコアとなる API ロジックに集中できます。UI フレームワークやユーザー認証方式に依存しない柔軟性を重視した設計となっており、認可データの安全かつ暗号化された保存先として Cloudflare KV を利用します。
// 主要ハイライト
01
PKCE サポートや RFC 8414/9728 メタデータ検出を含むコアな OAuth 2.1 標準を実装しています。
02
カスタムハンドラーにリクエストを渡す前にアクセストークンを自動的に検証することで、API 開発を簡素化します。
03
動的クライアント登録 (RFC 7591) をサポートし、OAuth クライアントのプログラムによる管理を可能にします。
04
アップストリームのトークン同期のような高度なシナリオ向けに、柔軟なトークン交換コールバックシステムを提供します。
05
保存されたプロパティのエンドツーエンド暗号化やシークレットのハッシュのみを保存することで、データセキュリティを確保します。
06
Cron Triggers を介して KV ストレージをクリーンに保つための purgeExpiredData といったメンテナンスユーティリティを内蔵しています。
// ユースケース
01
API エンドポイント向けの自動化された OAuth 2.1 トークン管理および検証
02
動的なクライアント登録および RFC 準拠のメタデータ検出
03
グラントメタデータとカスタムユーザープロパティの安全な暗号化ストレージ
// クイックスタート
開始するには、パッケージをインストールし、OAUTH_KV という名前の Cloudflare Workers KV 名前空間を設定します。Worker のエントリーポイントで OAuthProvider を初期化し、API ルート、ハンドラー、エンドポイント URL を定義します。最後に、env.OAUTH_PROVIDER インターフェースを通じて提供されるヘルパーメソッドを使用して、認可 UI と API ロジックを実装します。