環境
- Liferay DXP 7.0-7.2
-
Liferay Connector to SAML 2.0
v3.1
,v4.1
,v5.0
,v5.0
。
解決
このサンプルモジュール (^source はこのページに添付されています) は、カスタム の Liferay SAML 2.0 リゾルバを実装するために使用できる最小限のボイラプレートコードを提供することを目的としています。
com.liferay.saml.opensaml.integration.resolver.AttributeResolver
com.liferay.saml.opensaml.integration.resolver.NameIdResolver
-
com.liferay.saml.opensaml.integration.resolver.UserResolver
.
各カスタム・リゾルバは、カスタム・リゾルバが Liferay の SAML 2.0 コネクタに同梱されているデフォルトのものよりも確実に使用されるようにするために、@Component プロパティとしてより高い service.ranking
を設定する。
依存関係
ライセンス: Liferay DXP開発者またはプロダクションライセンス。
ソース: (オプション) Liferay Connector to SAML 2.0 モジュールの Maven スタイルのソース JAR をダウンロードできます。0 モジュールは、 Liferay Marketplace から購入したアプリのページからダウンロードするか、または、特定のバージョンのソースが見つからない場合は、Liferayサポートにチケットを発行してリクエストしてください。
コンパイル: 添付のソースの build.gradle
を参照してください。
注意してください。
com.liferay.saml.opensaml.integration-x.y.z.jar Liferay Connector to SAML 2.0から
を抽出する必要があります。lpkg ( Marketplace から をダウンロードすることができます) を作成し、モジュールのルートフォルダに作成したlibs
というフォルダに入れます。- このサンプルで使用している
com.liferay.saml.persistence.api
のバージョン3.0.14
は、 Liferay Connector to SAML 2に含まれています。0v5.0.1
に含まれており、Liferay の Nexus リポジトリで利用可能です。 これが執筆時点での最新リリースです。 新しいバージョンの SAML 2.0 コネクタを使用している場合は、それに応じて依存関係のバージョンを調整する必要がある。 あるいは、 Liferay Connector to SAML 2.0.lpkg から抽出して、libs
フォルダに入れておくこともできます。 この場合、build.gradle
から明示的な依存関係を削除することができます。
ランタイム.
- Liferay DXP 7.2
SP2以上/FP5以上
- Liferay Connector to SAML 2.0
v5.0.1
2.0.1
注意: カスタマイズ方法は、以前のバージョンの Liferay Connector to SAML 2.0、 でも同じです(DXP 7.1では4.1
、DXP 7.0では 3.1
)。 それに応じて依存関係を更新する必要があります。
構築
- このページに添付されている ^ソース をダウンロードして解凍してください。
- モジュールのソースを Liferay Workspace の
modules
フォルダに配置するか、または Liferay Developer Studioを使用してください。 - 実行
gradlew deploy
またはgradlew assemble
.
デプロイ
- Liferay Connector to SAML 2.0.lpkg を
[Liferay Home]/osgi/marketplace
に配置します。 - ビルドで生成された
com.liferay.custom.saml.resolvers-x.y.z.jar
を[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