データベースから読み込み、サービスプロバイダとIDプロバイダの両方にサービスを提供するspring samlメタデータプロバイダを実装しました。私はまた、エイリアスを利用してテナント識別子として機能しています。Spring SAMLでIDPメタデータを再読み込みするにはどうすればよいですか?
私の問題は、特定のアイデンティティプロバイダのメタデータを別のものに変更してデータベースを変更した場合、spring saml拡張を再起動するまで効果がないようです。これは、MetadataManagerリロードスレッドが開始されるのを待つかどうかとは無関係です。
ここには何がキャッシュされていますか?この現象を防ぐことはできますか?
SAMLメッセージ検証コードに何かがキャッシュされているようです。無効なメタデータを使用してプロセスを起動し、メタデータを修正すると、認証に失敗した場合でも、受信SAMLメッセージは無効です。
ご協力いただければ幸いです。
編集: MetadataCredentialResolver.javaでは、資格情報がメタデータプロバイダから取得された後にcacheCredentialsを呼び出してキャッシュされます。