FessのSAML連携では、IdPが発行したアサーションのAudienceに、利用先であるFess(SP)のエンティティIDが含まれるかを確認します。開発版のSAMLプラグインでは、Audienceを省略したアサーションも拒否できるようになります。
IdPのAudienceを確認してから有効にする
Fess側のSPエンティティIDと、IdPが発行するAudienceを確認します。両方が一致している検証環境で、Fessの system.properties に saml.security.reject_missing_audience=true を設定し、再起動して通常のSSOログインを試します。IdPが複数ある場合は、使っている各経路を確認します。 Audience検証は厳格モードで行うため、同じファイルで saml.strict=true も確認します。
初期値は false です。false ではAudienceがなくても、この項目を理由には拒否されません。true にするとAudienceがない場合も不一致と同じ WRONG_AUDIENCE で拒否されます。Audienceが指定され、そこにSPのエンティティIDが含まれない場合は、どちらの設定値でも拒否されます。プラグインが読み取るのは system.properties のキーで、このキーを -Dfess.system.saml… で渡す方法は対象外です。
利用できるプラグインの条件
この設定にはjava-saml 3.1.3以降の実装を使うfess-sso-samlが必要です。