きっかけ
前のプロジェクトで小規模なWebサービスの認証周りを一からやったんだけど、本当に時間がかかった。OAuth対応、セッション管理、テナント分離…こういった基盤的な部分に結構リソースを取られて、実際のビジネスロジック開発が後手に回ってしまう経験をしたんです。その時に「こういう共通部分をマネージドで提供してくれるプラットフォームがあったら、どれだけ楽になるだろう」って思ってて、そこでWaaSを見つけました。
使ってみた
セットアップは正直あっさりでした。GitHubのリポジトリをクローンして、環境変数を設定して、簡単な初期化スクリプトを走らせるだけで、もう認証エンドポイントが使える状態になる。それで実際にOAuth フローを試してみたら、トークン発行からリフレッシュまで一通り動いてる。REST API経由でクライアント登録も可能で、わざわざUIをいじることなくCLIからさっと設定できるのが地味に便利です。
ここが良い
なんといっても、認証周りの複雑さが劇的に減るところ。今まで自分たちで実装してた部分(トークンの署名検証、セッションのタイムアウト処理、複数プロバイダーの管理)がすべてWaaS側で完結するんです。特にマルチテナント対応が入ってるのが良くて、SaaSプロダクトみたいに複数の顧客を扱う場合でも、テナント間のデータ分離が自動的に機能する。これまで手動でスコープを切ってた作業が本当に減りました。
気になった点
ドキュメントがまだ若干薄い部分があります。特にカスタムクレーム周りの実装手順は、公式ドキュメントより実装例を読む方が早かったり。あとWindows開発環境での動作確認がまだ限定的なのか、Linuxやmacでの手順が優先されてるような感じがしますね。
まとめ
スタートアップから中堅規模のチームまで、Web認証の実装に時間をかけたくない人には本当に向いてると思う。自分たちのビジネスロジックに集中したい、認証は信頼できるプラットフォームに任せたい…そういう優先順位のチームなら、試す価値は確実にあります。個人的には、次のプロジェクトでもこれをベースに使うつもりです。