Azure AD B2Cを始める(5) vs Firebase Authentication
vs Auth0
Azure AD B2CとAuth0を比較するとき、印象としてはAuth0の方が的確な実装を行うなどフラットにプロダクトを評価すればAuth0に軍配が上がる気がします。
それでも私がAzure AD B2Cを選択する理由は、業務用システムなどでOffice365認証が基礎にありこの信頼度が高い事が挙げられます。つまり、私のビジネス上の理由として、Windowsのデスクトップ環境とシームレスに認証でき、なおかつクライアントの招待などを統合しつつ安全に運用するのに適しているから、というのがあります。
もし、純粋にWebサービスに専心するプロジェクトであれば、Azure AD B2CよりもAuth0の方が第一選択になるような気がします。
vs Firebase Authentication
このことは、Firebase Authenticationとの比較でもいえます。
Webアプリケーション実装は結局のところデータベースとの接続の問題はついて回りますが、データベースサーバーを安定稼働させるには、複数のデータベースサーバー間のレプリケーション等の運用管理、モバイルデバイスなどオフライン時の更新データの同期の問題など悩ましい問題は多くあります。
この点、認証と同期というWebアプリケーションの最も面倒な部分をFirebaseは解決して提供してくれています。しかも、低負荷であれば無料。
たとえ社内に大規模なRDBMSがあったとしても、WebアプリケーションではFirebaseを使うメリットがあると感じられます。
(RDBMSとの連携機能を追加するコストを払ってでもメリットがあるのではないか。)
連携か択一か
当然ですが、認証情報が二元化するなんて、ありえないですよね。
こっちのWebアプリはAzure AD B2Cで、Firebaseに書き込む時だけFirebase Authenticationを使うとか。
Azure AD B2CもFirebase Authenticationも複数のSSOに対応していますが、両方にgithubアカウントでサインインしているのにUX上は独立・・・
そう、ありえない。
そうすると、
- Firebase Authenticationを使わず、FirebaseのサービスでAzure AD B2Cアカウントに対する承認ができるようにする。
- Firebase Authenticationで、Azure AD B2Cとの間のフェデレーションを組む
いずれかを実現していくことになりそうです。