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への依存度を比較的低く抑えたアーキテクチャになっています。
現時点ではこの構成で進めてみて、運用してみた結果を後日また記録したいと思います。