Okta独自の認証方式であるSWAを利用し、SSOを再現してみた。

はじめに

Secure Web Authentication(SWA)は、SAMLやWS-Federation、OIDCに対応していない外部のWebアプリケーションにシングルサインオン(SSO)を提供するOkta独自の認証方式です。ユーザーが利用しているブラウザにOkta Browser Pluginという拡張機能をインストールすることで、認証時にOkta Browser Pluginが認証情報の代理入力を行い、自動ログインすることができます。

※SWA連携による自動ログインは、botの操作によるログインを制御するシステム(reCAPTCHAなど)に保護されているログインページにおける動作はサポートされておりません。

本記事では、OktaのSWAテンプレートを利用し、2種類のアプリケーション(MobileIron, Box)への自動ログインをご紹介します。

MobileIronとのSWA連携

Oktaでは、SAMLやWS-Federationだけでなく、SWA連携においても、様々なアプリケーションのテンプレートが用意されています。本記事では、下記のMobileIron Cloudテンプレートを用いたSWA連携について、設定内容と実際のログイン動作をご紹介します。

・MobileIron Cloudテンプレート

MobileIron Cloudテンプレート

設定内容と動作

・Login URL設定画面

MobileIron Cloudテンプレートでの連携の場合、必要な情報はLogin URLのみで、

非常に簡単に設定することができます。

・資格情報の設定

OktaのSWA連携では、下記のように、アプリケーションの資格情報(Username, Password)の設定パターンが5つあり、柔軟に設定することができます。

  • ユーザーがUsername, Passwordを設定
  • 管理者がUsername, Passwordを設定
  • 管理者がUsername、ユーザーがPasswordを設定
  • 管理者がUsernameを設定。Passwordは、ユーザーのOkta上のPasswordを使用。
  • 管理者が設定したUsername, Passwordを全ユーザーで共有
資格情報の設定

・資格情報の設定画面(ユーザー側)

本記事では、上記①の設定パターンをご紹介します。

ユーザーのOkta Dashboardにて、アプリケーションのアイコンをクリックすると、

ユーザー側でアプリケーションのUsernamePasswordを設定できます。

資格情報の設定画面(ユーザー側)

・実際のログイン動作

Okta Dashboardにて、アプリケーションのアイコンをクリックすると、アプリケーションのログイン画面に遷移し、Username, Passwordが自動入力され、サインインボタンが自動でクリックされることで、自動でログインすることができます。

BoxとのSWA連携

Oktaでは、Boxのように、Username入力画面とPassword入力画面が分かれているアプリケーションに対しても、下記のTemplate Two Page Plugin Appを利用することで、SWA連携で自動ログインすることが可能です。

Box用のテンプレートも用意されていますが、本記事では、アプリケーションテンプレートが用意されていない場合の、SWA連携設定と実際のログイン動作についてご紹介します。

・Template Two Page Plugin App

Template Two Page Plugin App

設定内容と動作

・設定画面(管理者側)

Template Two Page Plugin Appでは、下記設定項目が設けられており、③~⑥については、ログインページの各Field, ButtonのCSS selectorをコピー&ペーストすることで設定できます。
CSS selectorは、ブラウザの開発ツールによって、取得することができます。

  • Login URL
  • Password page URL
  • Username field
  • Next button
  • Password field
  • Submit button
設定画面(管理者側)

・CSS selector取得画面

CSS selector取得画面

・実際のログイン動作

ログイン時は、下記のように、Username, Passwordを自動入力できるだけでなく、Next buttonも自動でクリックされるため、Username入力画面→Password入力画面の画面遷移も自動で実行できます。

実際のログイン動作

まとめ

OktaにおけるSWA連携について、ご理解いただけましたでしょうか。

Oktaでは、上記のように、ログインページが2つに分かれているようなイレギュラーなログインページのアプリケーションについても、SWA連携によって、自動ログインすることができます。

SAMLやWS-FederationOIDCに対応していないアプリケーションに対してもSSOを行いたい方、その他Oktaに関するお問い合わせなどある方は、是非弊社までご連絡ください。

お問い合わせ・資料請求

株式会社マクニカ  Okta 担当

月~金 8:45~17:30