Ryusou Blog

Supabase Authを使わない

2026年03月16日22時41分

今日は個人開発のADR(Architecture Decision Record)を書き記しておきます。後日運用をしてみて、答え合わせをしてみようという試みです。

今回はiOSアプリのDBとしてSupabaseを利用していますが、それに付随するSupabase Authを使っていないので、それについて記録しておきます。

認証部分はClerkを利用して作っています。

選定理由としては、

  • Authを分離したサービスを利用することによって、Supabaseに依存しすぎないサービス設計とする
  • SwiftUIをクライアントで使っているので、RLSを利用するメリットが少ない

という点がメインとなります。

Auth体験を重視して、それに特化するClerkで認証周りを構築しています。RLSについては、API層で認証のガードやMiddlewareでのチェックができるので、それほど重視しませんでした。

またバックエンドにはHono + Cloudflareを利用しているので、Clerkとの連携も専用のミドルウェアが存在するなど、連携がスムーズな点もポイントでした。

さらにCloudflare Workersでデプロイをしているため、Supabase Edge Functionsのサービスも利用していません。

結果として今回の構成は

  • Auth:Clerk
  • API:Hono + Cloudflare Workers
  • DB:Supabase (Postgres)

という形になり、Supabaseへの依存度を比較的低く抑えたアーキテクチャになっています。

現時点ではこの構成で進めてみて、運用してみた結果を後日また記録したいと思います。