Cloudflareで認証を選ぶなら、速度重視はClerk、SSO必須のB2B SaaSはWorkOS、コスト重視はBetter Auth+D1が軸です。料金体系がMAU課金・接続数課金・従量課金とサービスごとに異なり、比較を始めた時点で選定が止まりやすいためです。本記事では、Clerk・Auth0・WorkOSなど7つの選択肢を公式一次情報にもとづいて整理しました。読めば、Cloudflare Workers特有の制約まで踏まえて、自社に合うサービスを短時間で選べます。
この記事の対象読者:Cloudflare Workers/Pagesで新規サービスを開発しているエンジニア、認証基盤の選定を任されたテックリードの方。コストと開発速度のバランスを検討している開発責任者の方も対象です。
Cloudflareで認証を実装する3つのアプローチ
Cloudflareで認証を実装する方法は、大きく3つに分かれます。どれを選ぶかで、開発速度・月額コスト・データの管理責任の置き場所が大きく変わります。最初にこの3分類を押さえておくと、後述の7サービスがどこに位置するかが一目で分かります。
- SaaS型IDaaSを組み込む:Clerk・Auth0・WorkOS・Supabase Auth
- OSSライブラリを自分のWorkerに組み込む:Auth.js・Better Auth
- OSSをセルフホストして自前運用する:Keycloak・Zitadel・Ory
加えて、社内アプリや管理画面の入口だけを守りたいなら、Cloudflare自身のZero Trust Accessという選択肢もあります。これはエンドユーザー向けのログイン機能ではなく、社内外の限られた人だけを通す境界線を作る仕組みです。
自社サービスのログイン画面を作るなら前者3グループから選びます。社内ツールへの入口を絞りたいだけならCloudflare Accessです。最初に目的を分けることが、遠回りを防ぐことになります。
7サービス比較表
Cloudflare Workers向けの公式対応があるのはAuth0とWorkOSの2社だけです。それ以外は無料枠の広さやライセンスの違いで選ぶことになります。Clerkの「MRU」は月間で保持されたユーザー数を指す独自指標で、他社の「MAU(月間アクティブユーザー数)」とほぼ同じ意味で使われます。7つのサービスの機能・料金・向いている規模は下の表のとおりです。
| サービス | 提供形態 | 無料枠 | 主な有料プラン | Cloudflare Workers公式対応 | 向いている規模 | 主な注意点 |
|---|---|---|---|---|---|---|
| Clerk | SaaS | 50,000 MRU/月 | $25/月〜 | なし(コミュニティ実装のみ) | 個人開発〜スタートアップ | Cloudflare向け公式ガイドがない |
| Auth0 | SaaS | 25,000 MAU/月 | B2C $35/月〜、B2B $150/月〜 | あり(Hono用公式SDK・MCP連携ガイド) | エンタープライズ・規制業種 | SAMLはB2B Professional以上が必要 |
| WorkOS(AuthKit) | SaaS | 100万 MAU/月 | 追加100万MAUごと$2,500/月 | あり(公式発表+公式example) | B2B SaaS | 組み込みUIはClerkほど作り込まれていない |
| Auth.js | OSS(ISC) | 無料 | ホスティング費用のみ | Cloudflare Pages自動検出 | 既存フレームワーク前提のプロジェクト | Workers向けの動作保証はない |
| Better Auth | OSS(MIT) | 無料 | ホスティング費用のみ | nodejs_compatフラグで動作 | コスト最優先・自由度重視 | 補助CLIがNode.js前提で一部動かない |
| Supabase Auth | SaaS(OSSコンポーネントあり) | 50,000 MAU/月 | $25/月〜 | パートナー統合はDB用途のみ | DBもSupabaseに寄せたい構成 | 無料枠はSAML/SSO・電話MFA非対応 |
| Keycloak/Zitadel | セルフホストOSS | 無料(サーバー費別途) | サーバー・運用コストのみ | Workers単体では稼働不可 | データ主権・自前運用が必須な組織 | サーバー運用の手間がかかる |
KeycloakとZitadelはライセンスが異なります。自社サービスに組み込む前に、必ず確認してください。詳細は後述の「OSSセルフホスト」の項目で説明します。
各サービスの詳細
Clerk
Clerkは、React/Next.js向けの作り込まれたログインUIコンポーネントを最速で組み込みたい個人開発・スタートアップに向いています。サインアップからMFAまでの画面部品が用意されており、自前でUIを組む工程を省略できるためです。2026年2月には無料枠が10,000MRUから50,000MRUへ引き上げられました。あわせて$25/月のProプランにもMFAが標準搭載されました(従来は$100の追加オプションでした)。
Cloudflare Workers/Pages向けの公式統合ガイドはありません。GitHub上には「Using Clerk with Cloudflare Workers」という要望issueが複数立っています。公式統合がない現状では、Next.jsなど対応フレームワーク経由での利用が現実的な選択肢です。CloudflareのD1(SQLite互換のデータベース)と組み合わせる場合は、SQLiteの制約を踏まえた設計が必要になります。
料金プランは4段階です。
- Hobby:無料、50,000 MRU
- Pro:$25/月〜
- Business:$300/月〜
- Enterprise:要問合せ
Auth0
Auth0は、SAML/OIDCによるエンタープライズSSOや監査要件への対応が必要な組織に向いています。GDPR・HIPAA・SOC2などのコンプライアンス認証を保有しています。B2C/B2Bそれぞれに専用プランを用意しているためです。
Auth0はHonoフレームワーク向け公式SDK「@auth0/auth0-hono」(ベータ)を提供しています。Cloudflare上でMCPサーバーを保護する実装手順も公式に用意しています。7サービスの中でも、公式SDKと実装ガイドの両方が揃っているのはAuth0だけです。
料金プランは5段階です。SAMLが必要になった時点で、B2B Professional以上が必須になる点に注意してください。
- Free:25,000 MAU、カード登録不要
- B2C Essentials:$35/月〜
- B2C Professional:$240/月〜
- B2B Essentials:$150/月〜
- B2B Professional:$800/月〜(SAML利用時に必須)
WorkOS(AuthKit)
WorkOSは、企業向けSSO・ディレクトリ同期を必要とするB2B SaaSに向いています。最初の100万MAUまで無料という太い無料枠があります。SSOやSCIM連携(ユーザー情報を複数システム間で自動同期する標準規格)といったエンタープライズ機能が、接続数課金で個別に用意されているためです。
WorkOSは2024年にCloudflare Workers対応を発表しました。サンプルも2つ公開しています。1つはDurable Objects・KVを使った「mcp-shop-cloudflare」(現在アーカイブ済み)です。もう1つは「sveltekit-authkit-example」です。認証基盤そのものの無料枠の広さは、7サービスの中でも際立っています。
料金は100万MAU/月まで無料です。以降は100万MAUごとに$2,500/月かかります。SSO・ディレクトリ同期は1接続$125/月からで、51接続以上は$65/月に割引されます。
Auth.js
Auth.js(旧NextAuth.js)は、Next.js・SvelteKit・Qwikなど対応フレームワークをすでに使っているプロジェクトに向いています。追加コストをかけずに認証を組み込みたい場合です。ISCライセンスのOSSです。Web標準のRequest/Response APIをベースに設計されているためです。
Cloudflare Pagesは自動検出環境の一つです。リバースプロキシ経由でデプロイする場合はAUTH_TRUST_HOST=trueの設定が必要です。Cloudflare Workers向けの動作保証はありません。対応フレームワークのアダプタ経由での利用が前提になります。料金は無料(OSS)です。
Better Auth
Better Authは、Cloudflare Workers+D1でコストを抑えつつ、パスキーや2FAまで自前で細かく制御したいプロジェクトに向いています。MITライセンスのOSSです。パスキー・2FA・マルチセッション・マルチテナンシーといった機能が最初から組み込まれているためです。
構成はSvelteKit+Cloudflare Workers+D1です。環境構築からGoogleログインの動作確認まで25分程度で完了できます。ただし注意点があります。スキーマを生成する公式CLI(better-auth generate)はNode.js環境が前提です。Cloudflare Workers環境では直接動きません。ローカルのD1状態ファイルをlibSQL経由のファイルURLとして読み込ませることで、この制約を回避できます。
本番環境ではBETTER_AUTH_SECRETなどの値をwrangler secret putで設定します。ログアウト処理にも注意が必要です。authClient.signOut()とSvelteKitのinvalidateAll()を両方呼ばないと、画面上だけログイン状態が残ります。Next.js+Cloudflare+D1でマジックリンクやパスキーを扱う公式サンプルも公開されています。料金は無料(OSS)です。Wrangler設定でnodejs_compat互換性フラグを有効にする必要があります。
Supabase Auth
Supabase Authは、認証だけでなくデータベースもまとめてSupabaseに寄せたい構成に向いています。無料枠でも50,000 MAUまで対応します。Cloudflare Workersダッシュボードとの連携で、環境変数を自動注入する統合も用意されています。
ただしこの統合には注意が必要です。実体は、Supabase側のデータベース(PostgREST。PostgreSQLを自動でREST API化する仕組み)にCloudflare Workerからアクセスするための連携です。Supabase Auth専用のCloudflare向けガイドではありません。Cloudflare Workers上でSupabase Authのログイン機能を使う場合は、この統合で得られる環境変数を使います。supabase-jsのauth機能を自分で呼び出す形になります。無料プランでは監査ログの保持が1時間のみです。SAML/SSOや電話番号によるMFAにも対応していません。CloudflareとSupabaseの組み合わせ方そのものはCloudflareと Supabase+Vercel、どちらを選ぶべきかでも整理しています。
料金はFree(50,000 MAU)とPro($25/月〜、100,000 MAU込み、超過$0.00325/MAU)の2段階です。
OSSセルフホスト(Keycloak・Zitadel)
KeycloakやZitadelなどのOSSをセルフホストする方法は、2種類の組織に向いています。データを自社の管理下から一切出したくない組織と、認証基盤への課金上限そのものをなくしたい組織です。どちらもソースコードが公開されています。SSO・ソーシャルログイン・LDAP連携・マルチテナントといった機能を、ライセンス費用なしで使えるためです。
KeycloakはOpenJDK上で動作する常駐サーバーです。Cloudflare Workers単体では稼働できません。Cloudflare上で使う場合は、別途VMやコンテナでKeycloak本体を動かし、WorkerからはOIDC経由で呼び出す構成になります。ライセンス面では両者が異なります。KeycloakはApache License 2.0で商用利用の制約がありません。一方、ZitadelはバージョンV3でAGPL-3.0に変更されています。自社サービスに組み込む際は、この条件を確認してください。ソースの入手性を重視する場合は、Apache License 2.0のOry Kratosも選択肢になります。料金はOSS自体は無料ですが、サーバー・運用コストが別途発生します。
Cloudflare Workersならではの技術的な制約
Cloudflare Workers上で認証を実装する際は、どのサービスを選んでも共通の壁に一度は当たります。「Node.js APIが動かない」という制約です。WorkersはV8 isolateという軽量な実行環境で動いています。Node.jsのcrypto・Buffer・fsといったモジュールを、標準では読み込めないためです。認証ライブラリをCloudflare Workers向けに移植した開発者の記録でも、この非対応を最初にぶつかった壁として挙げています。
この制約は2026年8月4日、大きく緩和されました。nodejs_compat・nodejs_compat_v2という互換フラグが、新規Workerでデフォルト有効化されたためです。Better Authのように、Wrangler設定に互換性フラグを追加するだけで動くライブラリも増えています。
コールドスタートについては、心配する必要がほとんどありません。CloudflareのWorkersはV8 isolateベースで、実質ミリ秒以下に抑えられているためです。セッションの保存先には役割分担があります。読み取り頻度が高いものはKVに、ユーザーデータそのものやトランザクションが必要な処理はD1に置く、という分担が推奨されます。
目的別の選び方
個人開発ならClerk、B2B SaaSならWorkOS、コスト重視ならBetter Auth+D1が基本の軸です。ただし規制業種やデータ主権が絡む場合は、この軸が当てはまりません。目的・状況別の推奨を下の表に整理しました。
| 目的・状況 | 推奨 | 理由 |
|---|---|---|
| 個人開発・MVPを最速で立ち上げたい | Clerk | UIコンポーネントが揃っており実装工数が最小 |
| B2B SaaSでエンタープライズSSOが必須 | WorkOS | 100万MAUまで無料、SSO・SCIMが接続数課金で明確 |
| 規制業種・コンプライアンス認証が必須 | Auth0 | GDPR/HIPAA/SOC2等の認証を保有、Cloudflare向け公式SDKもある |
| コストを抑えつつD1で完結させたい | Better Auth | OSS無料、D1・KVとの組み合わせ事例が豊富 |
| 既存フレームワークに手早く組み込みたい | Auth.js | Next.js等の対応フレームワークがあれば追加コストなし |
| DBもまとめてSupabaseに寄せている | Supabase Auth | 認証とDBを同一プラットフォームで管理できる |
| データを自社の管理下から出せない | Keycloak/Zitadel | セルフホストでデータ主権を確保できる |
| 社内ツール・管理画面の入口だけ守りたい | Cloudflare Access | エンドユーザー認証ではなくアクセス制御に特化、$7/ユーザー/月〜 |
導入前に確認すべきこと
どのサービスを選ぶ場合も、契約前に3点は必ず確認してください。「データの保存場所」「ベンダーロックインの深さ」「MAU課金の伸び方」です。SaaS型のIDaaSは、ユーザーデータを提供元のインフラに預ける形になります。日本国内でのデータ保管が求められる業種では、データセンターの所在地を契約前に確認してください。
MAU課金型のサービスは、無料枠のうちは気になりません。しかしユーザー数が伸びた瞬間に、段階的な従量課金へ切り替わります。事業計画上のユーザー数で、あらかじめ試算しておくことが欠かせません。ClerkのMRU超過課金やSupabaseのMAU超過課金のように、無料枠の範囲では見えにくい費用が、規模が伸びてから顕在化する設計になっています。
システム開発の現場では、無料枠の広さだけを見て認証サービスを決めると、規模拡大時に想定外のコスト増を招きやすいと見ています。乗り換えコストも含めて評価する視点が重要です。初期費用だけでなく、将来の移行しやすさまで見ておくことをおすすめします。
Cloudflare Workersで実装する際の実務ポイント
Cloudflare Workers上に認証を実装する作業自体は、公式ドキュメントに沿えば数十分で動くところまで到達できます。ただし、つまずくポイントはほぼ共通しています。Better AuthのCLIのように、スキーマ生成などの補助ツールがNode.js前提で作られているライブラリは少なくありません。
この場合は役割分担を意識すると詰まりにくくなります。開発時はローカルのSQLiteファイルをそのまま読み込ませます。本番用の設定(シークレットや接続文字列)は、wrangler secret putのようなコマンドで別途注入します。
環境変数の管理方法も、ローカルと本番で切り替える必要があります。ローカル開発では.dev.varsファイルを使い、本番ではwrangler secret putで注入します。ここを取り違えると、ローカルでは動くのに本番だけ認証が通らない、という事象が起きます。ClerkやAuth0、WorkOSはWebhookでユーザー作成・ログインのイベントを通知します。これらを使う場合は、Cloudflare Worker側でリクエストの署名(HMAC)を検証する処理も必要です。検証を省略すると、なりすましリクエストをそのまま受け入れてしまいます。
いずれのサービスを選ぶ場合も、開発環境での動作確認だけで終わらせないでください。本番相当のWrangler設定(互換性フラグ・シークレット管理・Webhook署名検証)まで一度通してから公開することをおすすめします。
まとめ
Cloudflare上での認証実装は3つに大きく分かれます。1つ目はSaaS型IDaaS(Clerk・Auth0・WorkOS)です。2つ目はライブラリ組み込み型(Auth.js・Better Auth)、3つ目はセルフホスト型(Keycloak・Zitadel)です。個人開発やMVPの立ち上げを最優先するならClerkが候補になります。B2B SaaSでのSSOが必須ならWorkOS、コストと自由度を重視するならBetter Auth+D1が有力です。どのサービスを選んでも、Cloudflare Workers特有のNode.js非対応という壁には一度当たります。ただしnodejs_compatフラグが2026年8月にデフォルト有効化されたことで、この壁は大きく下がりました。契約前には、まず自社の想定ユーザー数でMAU課金をシミュレーションしてから決めることをおすすめします。
参考リンク
- Clerk Pricing(公式)
- Auth0 Pricing(公式)
- WorkOS:Cloudflare Workers/Edge対応の公式発表
- Auth0:Cloudflare Workers(Hono)向け公式ガイド
- Cloudflare Workers:Node.js compatibility(公式ドキュメント)
- Better AuthをCloudflare Workers(SvelteKit)に導入する実演動画(TutorialDock)
監修者
池田 智彦 | 株式会社Spovisor 代表取締役
NTTドコモ・KDDIで通信業界に21年従事し、グローバル/国内市場で10以上の新規事業の立ち上げと、1,000万ユーザー規模サービスの開発・運用を主導。事業戦略から海外展開、エンジニアリングまで横断する経験を活かし、2023年6月に株式会社Spovisorを設立。現在はAI・アプリ開発、生成AIコンサル、AI駆動開発支援、AI顧問など、企業のDXを実装まで伴走する支援に取り組む。
生成AI/AIエージェントを「成果」に変える、Spovisorの伴走支援
株式会社Spovisorは、生成AI・AIエージェントを「使ってみた」で終わらせず、業務やプロダクトに組み込んで成果を出すところまで伴走する実装パートナーです。
| 支援領域 | 内容 |
|---|---|
| 生成AI組み込みアプリ開発 | Claude/ChatGPT/AIエージェントを組み込んだ業務アプリや自社プロダクトの設計から実装まで支援 |
| 生成AI導入コンサル/AI顧問 | 経営課題や業務プロセスから導入ポイントを設計し、本番運用まで伴走 |
| AI駆動開発支援 | Claude Code/Codexを使った開発生産性向上を現場へ定着 |