Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

開発者はコアな機能の実装に集中できる! Auth0が提供する認証・認可の最適解【デブサミ2019夏】

【C-6】ソフトウェア開発における認証・認可の位置付けと課題、現実解を探るアプローチ

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/08/09 12:00

 認証・認可はどんな種類のアプリケーションにも求められる機能だ。一方で、技術仕様が複雑で実装が困難な領域でもある。「仕様の調査に膨大な時間がかかった」「認証の実装方法に不備があり、アプリケーションに脆弱性を作ってしまった」といった経験を持つエンジニアは少なくないだろう。そうした課題を解決してくれるのが、Auth0株式会社が提供する認証・認可のプラットフォームである。多種多様な機能を有する同社のライブラリは、わずか数行のコードを記述するだけで利用可能だというから驚きだ。同社ソリューションズエンジニアの山口央氏が、Auth0のサービスを用いて認証・認可の課題を解決する方法を解説した。

目次
Auth0株式会社 ソリューションズエンジニア 山口央氏
Auth0株式会社 ソリューションズエンジニア 山口央氏

認証・認可を外部サービスでまかなうことの利点

 現代は、数多くのアプリケーションが開発され、市場に出回っている時代だ。モバイルデバイスで動くネイティブアプリケーション、ReactやAngularなどの技術を用いて作られるシングルページアプリケーション、従来型のWebアプリケーションなど、種類は多種多様である。

 そうしたアプリケーションのほぼ全てに必要な機能が認証・認可だ。広義でとらえるならば、ユーザーの払い出しやセッション管理、パスワード管理、アカウント管理、ログアウト管理などさまざまな構成要素が認証・認可には存在する。それらの構成要素は複雑な技術仕様を持っており、スクラッチで実装するのが困難な領域である。そのため、万が一認証・認可まわりのトラブルが発生すれば、被害も甚大なものになってしまう。

 また、1から実装する場合には開発工数が非常に大きい。ログイン・サインアップ機能や、SAML、 AD/LDAPとの連携、GoogleやFacebookに代表されるソーシャルログイン、多要素認証など求められる全ての認証機能を実装すれば、数カ月の時間を要するだろう。

 そうした課題を解決してくれるのが、Auth0の提供する認証・認可のサービスだ。Auth0のプラットフォームは65を超えるSDKを公開している。そのようなSDKならびにライブラリを利用し、わずか数行のコードを組み込むだけで、認証機能を実装することが可能だ。

 このプラットフォームを利用することで、認証・認可の実装にかかる時間的コストを短縮でき、開発者が本来集中すべきビジネス機能の実装に時間を費やすことができる。ソフトウェアそのもののクオリティを向上させることが、ユーザーの満足度を向上させることに結びつくのだ。

 ソフトウェア開発の活動のなかで、ID Managementは本来ノンコアな領域である。開発者が本来取り組むべき活動は、ユーザーがどういったプロダクトを求めており、どんな課題を持っているのかをいち早く発見すること。アイデアを創出して動くソフトウェアをすぐに作り、なるべく早くリリースすること。ユーザーの声を拾い上げ、次の課題発見やアイデア創出に生かすためのフィードバックループを回すことである。

 「コアな機能に自社のリソースを集中投入するには、ID Managementの部分を外部から調達することや、既にあるサービスを使うことが現実的な解になってきます。だからこそ、私たちAuth0の存在意義があるわけです」(山口氏)

 その利便性の高さや優れた堅牢性から、パーソルキャリアやNTTドコモといった名だたる国内大手企業もAuth0のプラットフォームを利用しているという。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2019夏】セッションレポート

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5