問題
SAML SSOの設定に成功した後、ユーザーがログインできず、UIおよびサーバーコンソールで以下のエラーが発生します。
UI Errorです:
"Unable to process SAML request"
サーバーコンソールです:
ERROR [http-nio-8080-exec-1][MandatoryAuthenticatedMessageRule:37] Inbound message issuer was not authenticated.
ERROR [http-nio-8080-exec-1][BaseSamlStrutsAction:58] org.opensaml.ws.security.SecurityPolicyException:受信メッセージの発行者が認証されませんでした。
環境
- Liferay 7.1
解像度
LiferayはIDPからの応答が署名されている場合にのみ認証を許可します...ここで、IDPからの応答が署名されていない場合に上記のエラーが発生します。
-
解決策1(強く推奨)
上記のエラーを回避し、認証を成功させるために、IDPから署名された応答を取得する必要があります。
-
解決策2(オプション):
SAMLでの署名検証をバイパスするプラグインを作成してカスタマイズすることで実現します。
免責事項:セキュリティの問題につながる
追加情報
- もしLiferayがIDPからの署名のないレスポンスで認証を許可すると、MiM(Middle Men)が簡単にIdPからのレスポンスを改ざんしてSP(Liferay)に送ることができ、レスポンスが署名されていないため、SPはIdPからのレスポンスかそれ以外か認識できない、というセキュリティ問題につながる可能性があります。
- Ref: LPS-47700