legacy-knowledge-base
公開されました Jun. 30, 2025

7.4 U34+ で OpenIdConnectProvider クラスにアクセスするには?

written-by

Madeleine Clay

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • com.liferay.portal.security.sso.openid.connect.OpenIdConnectProvider;com.liferay.portal.security.sso.openid.connect.OpenIdConnectProviderRegistry;のLiferayクラスは、 LPS-150092によってU34+で削除されました。
  • カスタマイズの際、どのように置き換えることができますか?

環境

  • DXP 7.4

解像度

  • 置換クラスを実現する1つの方法は OpenIdConnectProviderRegistryImpl.findOpenIdConnectProviderメソッドをカスタマイズすることです。
    • これは 設定テーブルからすべてのエントリを取得する必要があります。 で始まる _configuration テーブルからすべてのエントリを取得する必要があります。からすべてのエントリを取得し、それを繰り返し、一致する プロバイダ名.
    • これは以前、インメモリーマップを使って行った(詳しくは LPS-150092参照)。 基本的には、サーバーの起動時やコンフィギュレーションの追加・削除時に、providerName(キー)をconfiguration(値)としてマップを更新します。 そこから簡単にコンフィギュレーションを調べることができた。
    • また、マップをスキップして、リクエストごとにコンフィギュレーションの取得とフィルタリングだけを実行することもできる。
  • あるいは OpenID Connect 接続ごとにOAuthClientEntryを作成するので、以下のスクリプトを使用してデータにアクセスすることもできます。
    • com.liferay.oauth.client.persistence.service.OAuthClientEntryLocalServiceUtil.getOAuthClientEntries(-1, -1).each { client ->
      out.println(client);
      }

追加情報

  • 追加により OpenIdConnectProvider の 設定がローカルに保存さ れなくなりました。 LPS-150092OpenIdConnectProviderRegistryImpl.findOpenIdConnectProviderようなクラスで簡単に取得する ことはできません。 このコード変更は次のサイトで確認できる。https://github.com/brianchandotcom/liferay-portal/compare/03162209ce...23b907d1cf.
  • なぜなら OpenIdConnectProviderオブジェクトは、それ自体で使われるのではなく、ログインや認証の必要性に応じて動的に収集されることを意図していたため、すべてはバックエンドに移動されました。
    そのため OpenIdConnectProviderRegistryImplクラスは歴史的に内部的なものでした。
did-this-article-resolve-your-issue

legacy-knowledge-base