トークンを使用したシングルサインオン認証

トークン方式SSO認証はLiferay DXP7.0から導入され、Shibboleth、 SiteMinderや以下の方法でトークンを伝播させる形式のSSO製品に対して標準化されています:

  • HTTP リクエストパラメータ

  • HTTP リクエストヘッダー

  • HTTP クッキー

  • セッション属性

認証トークンには特定の会社(ポータルインスタンス)に使用できるように、Liferay DXPユーザーのスクリーンネーム、Emailアドレスのいずれかが含まれています。Liferay DXPは3つの認証方法をサポートしてます:

  • Emailアドレス

  • スクリーンネーム

  • ユーザーID

Liferay DXPのトークン認証は、Emailアドレスとスクリーン名のみをサポートしているのでご注意ください。トークンを利用した認証を試みた際に、ポータルがユーザーIDを使用するように設定されている場合は、TokenAutoLoginのクラスが次のような警告を出します:

Incompatible setting for: company.security.auth.type

上記のソースは完全に信頼されています。

さらに、Liferay DXPの外部のセキュリティーメカニズム(Apacheなどフロントウェブサーバーなど)を利用してください。これらアプリケーションサーバの前段に配置されたソリューションを利用して、悪意のあるLiferay DXPユーザーの偽装を防止することが必要です。さもないとクライアントのウェブサーバーから直接、Liferay DXPにHTTPリクエストを送信できてしまいます。

デフォルトでは、トークン認証は無効になっています。トークンを使用したSSO認証を管理するには、Liferay DXPの[コントロールパネル] > [システム設定] > [セキュリティ] > *[SSO]*に行きます。 「トークン方式SSO」は3ページ目にありますが、トークンと検索を掛けて探すことも可能です。以下は、トークンベースのSSOモジュールの設定オプションです。

Authentication cookies: これをクッキーに書き込むことでログアウト後に削除されます。(例: SMIDENTITY, SMSESSION)

Enabled: トークン方式SSOを有効にするにはこれをチェックします。

Import from LDAP: これにチェックすることで、ポータルにユーザーが存在しない場合はLDAPからユーザーを自動的にインポートします。

Logout redirect URL: Liferay DXPからログアウトした場合、このURLにリダイレクトされます。

Token location:ユーザートークンの場所をここで指定します。上記で説明したとおりオプションは次のとおりです。

  • HTTP リクエストパラメータ

  • HTTP リクエストヘッダー

  • HTTP クッキー

  • セッション属性

トークン名と同様にします。****特定の場所から取得されます。(例: SM_USER)

*[保存]*をクリックしトークン方式SSOを有効にします。

必須のSiteMinder設定方法

SiteMinderをご使用の場合は、Liferay DXPはそのURLにチルダ文字を使用することがあります。デフォルトでは、SiteMinderはチルダ文字(およびその他)を不正な文字として扱い、そのいずれかを含むURLを処理するとHTTP 500エラーを返します。この問題を回避するには、 SiteMinder設定を以下のように変更します:

BadUrlChars       //,./,/.,/*,*.,\,%00-%1f,%7f-%ff,%25

上記の設定は~が不正URL文字リストから除外されている以外はデフォルトと同じです。SiteMinderを再起動して、設定の更新を有効にします。詳細については、SiteMinderのキュメンテーションをご覧ください。

まとめ

Liferay DXPのトークン方式のSSO認証メカニズムは、柔軟性が高く、有効なLiferay DXPユーザーのスクリーン名や、Emailアドレスを提供できるSSOソリューションであれば、互換性があります。これにはShibboleth とSiteMinderが含まれます。

« LDAPサーバーの追加OpenID Connectを用いた認証 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています