Liferay Connector to SAML 2.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に含まれています。0 v5.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.12.0.1

注意: カスタマイズ方法は、以前のバージョンの Liferay Connector to SAML 2.0、 でも同じです(DXP 7.1では4.1 、DXP 7.0では 3.1 )。 それに応じて依存関係を更新する必要があります。

構築

  1. このページに添付されている ^ソース をダウンロードして解凍してください。
  2. モジュールのソースを Liferay Workspace modules フォルダに配置するか、または Liferay Developer Studioを使用してください。
  3. 実行 gradlew deploy または gradlew assemble.

デプロイ

  1. Liferay Connector to SAML 2.0.lpkg[Liferay Home]/osgi/marketplaceに配置します。
  2. ビルドで生成された com.liferay.custom.saml.resolvers-x.y.z.jar[Liferay Home]/osgi/deployに配置します。
  3. 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
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています