ちょっと待って。本当にbetter-authで大丈夫?
better-authの勢いすごいですよね。
少し前までデファクトスタンダードだったAuth.jsもついにbetter-authの一部になり、認証を実装するなら、better-auth一択という雰囲気を感じます。
だがしかし。
ちょっと待って。そのプロダクト、本当にbetter-authで大丈夫?
私がbetter-authを業務で使って困ったところを2個述べます。
特にOrganizationプラグインを使ったマルチテナントB2Bサービスを作ろうとしている人は要注意です。
1. エラーメッセージが日本語対応していない
エラーメッセージを日本語で出す場合は自力で実装しないといけません。。。
Clerkは対応しています。
2. バグがある(そして治らない)
better-authのOrganizationプラグインを入れると、Slackのワークスペースのようなことができます。
ただし、そのOrganizationに追加カラムを足そうとする場合は要注意です。
useActiveOrganization
フックでユーザーにとって現在アクティブな組織を取得できるのですが、その返り値の型に、追加カラムが反映されないというバグがあります😭 (useListOrganizations
も)
追加カラムを足すユースケースは少なくないと思うので無視できないバグですが、Issueが投稿されてから約3ヶ月経った現在も治っていません。
バグがあるのは仕方のないことですが、こうも対応が遅いと心配になります。
3. 招待機能
こちらもOrganization関連の不満です。
アカウントをすでに作っているユーザーに対して組織の招待を送ることはできます。
しかし、招待フローといえば、アカウントをまだ登録していないユーザーに対して、メールを送り、そのメールからアカウントを作成すれば、自動的に組織に参加できるというフローではないでしょうか?
こちらbetter-authではそういったフローを想定した作りになっていないため、自力で実装する必要があります。
Clerkならば、事前に用意されたコンポーネントを使うことも、カスタマイズすることも可能です。
まとめ
better-authは素晴らしいソリューションですが、少なくとも2025年10月1日時点では、マルチテナント用途には向いてない(細かいところに手が行き届いていない)印象を受けました。
ClerkやWorkOSならば、
- 公式で用意されたUIコンポーネントがあるので素早く開発できる。
- MAUが多くなければ無料で使える。
- Convexと正式に連携できる。
のような魅力的な点があります。
Web開発だったらClerkかWorkOSがおすすめです。
ネイティブアプリも視野ならAuth0もいいでしょう。
ローカルDBで認証を管理したい気持ちもわかりますが、サポートがしっかりしている認証SaaSを選ぶのも一考の余地があります。
少なくとも思考停止でbetter-authを選ぶのはやめましょう。
Discussion