
どんな自作認証も最初はほんの数行から始まります。だが、リリース後の小さな判断が、静かにプロダクト全体を支配するモデルへと固まっていきます。
メール・パスワード・ハッシュして保存、ログイン時に比較。綺麗に完了。
ユーザーとは誰か。どの組織に属しているか。どのセッションが信頼できるか。どのようにアクセス権を取り消すか。
紙の上でログイン画面を差し替える=コード上で ID 基盤を作り直すこと。
何年も何事もなく動き続けます。だが、ビジネス上の変化がひとつ起きるだけで、「十分」だったものが一瞬で「障壁」になります。多くのスケールするプロダクトにこの三つの壁が訪れます。

初の大型案件がまとまり、調達担当が自社の Entra や Google Workspace を使った SSO を要求。次の顧客は別の IdP 利用で SAML も OIDC も必要。顧客ごとに ID 設計がバラバラで、ほとんどすべてがやり直しになります。

組織ごと・製品ごとに分散し、買収で引き継がれるケースも。「IDの統合」は一見機能追加に見えても、コード上では「1ユーザー・1組織」の定義見直しです。

もう「人がブラウザでログイン」だけじゃない。エージェントや MCP サーバー、CLI もそれぞれ「誰か」の代わりに操作します。でも自作認証は「人をログインさせる」しか知らないのです。

最初のバージョンは安い:数人・数週間で完成。でもその後は毎年コア製品に割くはずだったエンジニアリング工数を食い続けます。
「認証費用」なんて請求書は来ません。
重要な文脈は文書ではなく「誰かの頭の中」にある。
OAuth サーバーを自作しても、顧客から追加料金はもらえません。
成熟した認証サービスはほとんどの機能(SSO・MFA・組織・統合ログイン・エージェント連携)を標準搭載しています。肝心なのは「脱出可能か」。数千行自作コードから抜け出す代わりに、他人のロックインにはまらないこと。