認証・認可を外部サービスでまかなうことの利点
現代は、数多くのアプリケーションが開発され、市場に出回っている時代だ。モバイルデバイスで動くネイティブアプリケーション、ReactやAngularなどの技術を用いて作られるシングルページアプリケーション、従来型のWebアプリケーションなど、種類は多種多様である。
そうしたアプリケーションのほぼ全てに必要な機能が認証・認可だ。広義でとらえるならば、ユーザーの払い出しやセッション管理、パスワード管理、アカウント管理、ログアウト管理などさまざまな構成要素が認証・認可には存在する。それらの構成要素は複雑な技術仕様を持っており、スクラッチで実装するのが困難な領域である。そのため、万が一認証・認可まわりのトラブルが発生すれば、被害も甚大なものになってしまう。
また、1から実装する場合には開発工数が非常に大きい。ログイン・サインアップ機能や、SAML、 AD/LDAPとの連携、GoogleやFacebookに代表されるソーシャルログイン、多要素認証など求められる全ての認証機能を実装すれば、数カ月の時間を要するだろう。
そうした課題を解決してくれるのが、Auth0の提供する認証・認可のサービスだ。Auth0のプラットフォームは65を超えるSDKを公開している。そのようなSDKならびにライブラリを利用し、わずか数行のコードを組み込むだけで、認証機能を実装することが可能だ。
このプラットフォームを利用することで、認証・認可の実装にかかる時間的コストを短縮でき、開発者が本来集中すべきビジネス機能の実装に時間を費やすことができる。ソフトウェアそのもののクオリティを向上させることが、ユーザーの満足度を向上させることに結びつくのだ。
ソフトウェア開発の活動のなかで、ID Managementは本来ノンコアな領域である。開発者が本来取り組むべき活動は、ユーザーがどういったプロダクトを求めており、どんな課題を持っているのかをいち早く発見すること。アイデアを創出して動くソフトウェアをすぐに作り、なるべく早くリリースすること。ユーザーの声を拾い上げ、次の課題発見やアイデア創出に生かすためのフィードバックループを回すことである。
「コアな機能に自社のリソースを集中投入するには、ID Managementの部分を外部から調達することや、既にあるサービスを使うことが現実的な解になってきます。だからこそ、私たちAuth0の存在意義があるわけです」(山口氏)
その利便性の高さや優れた堅牢性から、パーソルキャリアやNTTドコモといった名だたる国内大手企業もAuth0のプラットフォームを利用しているという。