お世話になります。
FESSを利用したPDF全文検索をトライしており、クロール設定・検索結果表示確認など順調に進んでおります。
今回、FESSのユーザ認証でシングルサインオンを利用しようとしているなかで以下エラーに悩んでおります。
■現象
FESSログイン画面に「 * SSOログイン処理に失敗しました。」が表示され、ログイン認証に失敗する
■FESSのエラーログ情報(DEBUGモードでfess.logを確認)
ERROR The response was received at
http://〇〇.〇〇.jp/sso/
instead ofhttps://〇〇.〇〇.jp/sso/
ERROR processResponse error. invalid_response
■環境条件
・FESSのバージョン:14.0.0
・FESSがセットアップされているサーバ内にnginxを立て、リバースプロキシ・https化している
・ADFSのSSO設定で、Consumer endpointはhttps化されている必要がある
■その他
・ADFSの設定、およびFESSのsystem.propertiesの設定ではすべてhttps://〇〇.〇〇.jp/sso/
と記載している(http://~
の設定箇所はない)
・fess.logを確認すると以下記載あり
[param] RelayState=
http://〇〇.〇〇.jp/sso/
[param] SAMLResponse=*********
※RelayStateにhttp://~
アドレスが設定されてしまう
本エラーはFESSではなくOneLoginが出しているものだと思っています
OneLogin内の【validateDestination】関数で、currentUrlとdestinationUrlが異なることでエラーとされているようです
(本件では、httpとhttpsの差)
参照:https://github.com/onelogin/java-saml/blob/257a415182142e5d8a2554971aae20d93948ed3a/core/src/main/java/com/onelogin/saml2/authn/SamlResponse.java#L1283
本エラーを解消するためのヒント(FESSアドレスをhttpsに見立てる、固定値を入れる)などございましたらご教授いただけると幸いです。