クライアント目線と開発者目線の両方からOkta CICのメリットを解説
丸山氏が携わったのは、従業員規模約6000名の国内製造業企業で、新しく提供するサービス群にOkta CICを導入して「アカウントの一元管理」と「シングルサインオン」を実現するプロジェクトだった。モバイルアプリケーションとWebアプリケーションでOkta CICを導入するためにOAuth2.0ベースのOpenID Connectと各種Authorization Code Flowを使い、APIにはクライアントクレデンシャルフローを用いたという。
![丸山氏がアサインされたOkta CIC導入プロジェクトの概要図](http://cz-cdn.shoeisha.jp/static/images/article/19162/19162_003.png)
このプロジェクトにおいて、課題は大きく3つあった。1つ目は「サインアップフロー中にさまざまな処理を入れたい」というもの。国外からのアクセス拒否・利用規約への同意・ユーザ情報の追加入力・メールの確認が済んでいないユーザのアクセス拒否・仮パスワードが設定されているユーザのパスワードリセット・使用権限がないアプリケーションへのアクセス拒否・使用したアプリケーションの記録。「これだけのアクションをサインアップ中に実施するには、Okta CICなしでは難しかっただろう」と丸山氏は振り返る。
![ラック セキュリティエンジニアリング統括部 ソリューションサービス第二部 IMサービスグループ 丸山 健斗氏](http://cz-cdn.shoeisha.jp/static/images/article/19162/19162_maruyama.png)
2つ目の課題は、「後からソーシャルログインを追加し、サインアップフローを変える」ことだ。通常、フローを途中から変えてしまうとユーザデータの形が変わってしまうが、要件定義の段階で想定しておくことはなかなか難しい。しかし、これもOkta CICでどこから来てもユーザデータの形が同じになるよう処理を完結させることで、他のアプリケーションにはまったく影響が出ないように変更することができたという。
3つ目の課題は、クライアントに向けて「認証認可の構成やその目的・意図を説明すること」だ。丸山氏が所属するラックのようなSI企業に共通する課題として、OpenID Connectの構成や導入メリットをクライアントに説明するのが難しいという課題がある。Backlogなどを使って何度もやり取りをしながら説明を重ねたそうだ。
こうした課題に挑みながらもOkta CICを導入してよかった点について、丸山氏はクライアント目線と開発者目線の両方から、次のように語った。
クライアント目線で見たOkta CICの導入メリット
- 変化への対応力の高さ…途中でフローを変更したり、ログイン中の処理を増やしたりしたくなったときに、比較的すぐに対応できる。
- シングルサインオンと顧客アカウントの一元管理ができる…新しいサービスが増えたときでも、ユーザビリティを損なうことがない。
- 要件定義の積み残しや要望の変化に柔軟に対応できる…Okta CICは自分たちでコーディングできるので、導入後のミスマッチが起きにくい。
- ドキュメントがきれいにまとまっているので、クライアント自身で一次情報を確認しやすい。
- Okta CIC Actions機能により、要件変更に素早く対応できる。
開発者目線で見たOkta CICの導入メリット
- ドキュメントやコミュニティが充実しており、構築作業や不具合の解消がとても早くてうれしい。
- Okta CIC Actions機能でコーディングできるため、直感的に機能を実装できる。
- ログイン機能を自分で実装しなくて良いため、リソースを本来の機能開発に投入できる。
「Next.jsやRustなど、エンジニアとして新しい言語やフレームワークの勉強が必要ななか、認証認可/ID管理まで追い続けるのは難しいと感じる。Okta CICのようなIDaaS製品を導入してから、お手本にして学んでから自分でつくるのは、良い選択肢ではないか」と語り、丸山氏はセッションを締め括った。
認証やID管理は「Okta CIC」に任せてみては?
開発者が主要機能開発にフォーカスできる CIAM の魅力に迫る!
- しっかりとした認証機能を実装したいが メイン機能以外にリソースを割けない
- 認証まわりはOkta CICにまるっと任せて開発をスピーディーに
- 必要な機能がオールインワン 継続的なアップデートで最新機能をいち早く入手
本記事で興味を持たれた方は、資料請求フォームからお問い合わせください。