環境
- ライフレイ DXP 7.0-7.4
-
SAML 2.0 への Liferay コネクタ
v3.1+
、v4.1+
、v5.x
、v6.x
、v7.x
解像度
このサンプル モジュール (^source がこのページに添付されています) は、カスタム Liferay SAML 2.0 リゾルバーを実装するために使用できる最小限のボイラープレート コードを提供することを目的としています。
-
com.liferay.saml.opensaml.integration.resolver.AttributeResolver
(Liferay DXP IdP の拡張ポイント) -
com.liferay.saml.opensaml.integration.resolver.NameIdResolver
(Liferay DXP IdP の拡張ポイント) -
com.liferay.saml.opensaml.integration.resolver.UserResolver
(Liferay DXP SP の拡張ポイント)
Liferay の SAML 2.0 コネクタに同梱されているデフォルトのリゾルバーよりもカスタム リゾルバーが確実に使用されるように、各カスタム リゾルバーは @Component プロパティとしてより高い service.ranking
を設定します。
依存関係
ライセンス: Liferay DXP 開発者または製品ライセンス。
ソース: (オプション) Liferay Connector to SAML 2.0 モジュールの Maven スタイルのソース JAR を Liferay マーケットプレイス の [購入したアプリ] ページからダウンロードできます。特定のバージョンのソースを見つけることができません。
コンパイル: 添付ソースの build.gradle
を参照してください。
メモ:
-
com.liferay.saml.opensaml.integration-xyzjar
Liferay コネクタから SAML 2.0.lpkg を抽出し (マーケットプレイスから ダウンロード できます)、libs
というフォルダーに配置する必要があります。モジュールのルート フォルダに作成されます。- DXP 7.4では、このアーティファクトは Liferay の Nexus リポジトリ でも利用できるため、他の依存関係と同様に、適切な groupId/artifactId/version 情報を使用して単純に参照するだけで十分です。
- このサンプルで使用されているバージョン
3.0.14
ofcom.liferay.saml.persistence.api
Liferay Connector to SAML 2.0v5.0.1
に含まれており、Liferay Nexus リポジトリで利用できます。 これは、執筆時点で入手可能な最新のリリースです。 SAML 2.0 コネクタの新しいバージョンを使用している場合は、それに応じて依存関係のバージョンを調整する必要があります。 または、 Liferay コネクタから SAML 2.0.lpkg に抽出して、libs
フォルダーに入れることもできます。 この場合、明示的な依存関係をbuild.gradle
から削除できます。
ランタイム:
- Liferay DXP 7.2
SP2+/FP5+
- SAML 2.0 への Liferay コネクタ
v5.0.1
注: カスタマイズ方法は、SAML 2.0 への Liferay コネクタの以前のバージョンでも同じである必要があります (DXP 7.1 では4.1+
、DXP では 3.1+
)。 それに応じて依存関係を更新するだけです。
ビルド
- このページに添付されている ^source をダウンロードして解凍します
- モジュールのソースを Liferay Workspace の
modules
フォルダーに配置するか、 Liferay Developer Studioを使用します -
gradlew deploy
またはgradlew assemble
を実行します。
デプロイする
-
Liferay Connector to SAML 2.0.lpkg を
に配置 [Liferay ホーム]/osgi/marketplace
- ビルドによって生成された
com.liferay.custom.saml.resolvers-xyzjar
[Liferay Home]/osgi/deploy
に配置します。 - Liferay DXPを起動
コンソールに次のようなログ メッセージが表示されます。
2020-09-09 13:05:15.073 INFO [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][BundleStartStopLogger:46] STARTED com.liferay.custom.saml.resolvers_3.0.30 [718]
2020-09-09 13:05:15.076 DEBUG [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][CustomAttributeResolver:64] Activated
2020-09-09 13:05:15.076 DEBUG [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][CustomAttributeResolver:67] Default resolver: class com.liferay.saml.opensaml.integration.internal.resolver.DefaultAttributeResolver
2020-09-09 13:05:15.077 DEBUG [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][CustomNameIdResolver:71] Activated
2020-09-09 13:05:15.078 DEBUG [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][CustomNameIdResolver:74] Default resolver: class com.liferay.saml.opensaml.integration.internal.resolver.DefaultNameIdResolver
2020-09-09 13:05:15.079 DEBUG [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][CustomUserResolver:66] Activated
2020-09-09 13:05:15.079 DEBUG [Refresh Thread: Equinox Container: 20022c4f-8479-4d66-a8fc-dcfe51951f12][CustomUserResolver:68] Default resolver: class com.liferay.saml.opensaml.integration.internal.resolver.DefaultUserResolver
テスティング
簡単なテストとして、Liferay DXP インストールで 2 つの 仮想インスタンス を作成し、それらを SAML IdP および SP としてそれぞれ構成できます。 サンプル モジュールがデプロイされると、ユーザーの認証時に Liferay DXP のコンソールに次のログ メッセージが表示されます。
2020-09-09 12:00:13.051 DEBUG [http-nio-7211-exec-6][CustomNameIdResolver:51] Resolving
2020-09-09 12:00:28.846 DEBUG [http-nio-7211-exec-6][CustomAttributeResolver:48] Resolving
2020-09-09 12:00:30.356 DEBUG [http-nio-7211-exec-10][CustomUserResolver:46] Resolving