この記事では、SAMLとOAuthの両方が有効になっていると、ユーザーがSyncクライアントにログインできないという既知の問題について説明します。 その結果、認証はSyncクライアントの空白の画面で失敗します。 警告メッセージがサーバーコンソールに繰り返し出力されます:
Relay state exceeds 80 bytes, some application may not support this.
具体的な条件:
- Liferay DXPプラットフォームを2つ立ち上げる
- Liferay SAML 2.0、OAuth Provider、およびSync ClientアプリをLiferay Digital Enterprise 7.0プラットフォームの両方にデプロイする
- SAML設定の手順 に従って、最初のLiferay DXP 7.0プラットフォームをIdP (IdP)として構成し、2番目のプラットフォームをサービスプロバイダ (SP)として構成する
- SAML プロトコルを使用した SSO/SLO が動作することを確認する
- SP インスタンスで コントロールパネル → 設定 → Sync Connector管理に移動する
- OAuthを有効にする
- Liferay SyncをSPに接続する
解決
ステータス:利用可能な回避策
現在のところ、この問題を解決するための回避策があります。 {Liferay_Home}/tomcat/webapps/ROOT/WEB-INF/liferay-web.xmlに以下のフィルタを追加してください。
<filter-mapping>
<filter-name>Auto Login Filter</filter-name>
<url-pattern>/c/portal/oauth/authorize/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
ユーザーがSyncクライアントに正常にサインインでき、サーバーコンソールには警告メッセージが1つだけ表示されていることがわかります。
追加情報
LPS-76246 は、恒久的な修正を提供するために作成されました。
Liferay SAML 2.0アプリの最新版をご利用の場合は、Fix Pack DE-32以上が必要です。 この記事を参照してください。 Liferay Connector to SAML 2.0 バージョン 3.1.0 以降の重要な変更点とサポート情報