如何强制Spring SAML重新读取我的IDP元数据?

时间:2016-06-28 16:10:08

标签: spring saml spring-saml

我已经实现了一个spring saml元数据提供程序,它从数据库中读取并提供服务提供者和身份提供者。我也在利用别名作为租户标识符。

我的问题是,如果我进入数据库并修改特定身份提供者的元数据是不同的,那么在我重新启动spring saml扩展之前它似乎没有任何效果。这与我是否等待MetadataManager重新加载线程开始无关。

这里有什么缓存?我可以阻止这种行为吗?

看起来SAML消息验证代码中正在缓存某些内容。如果我使用无效元数据启动进程,然后更正元数据,无论身份验证失败了什么:传入SAML消息无效。

任何帮助都将不胜感激。

编辑:我相信我找到了发生这种情况的位置:在MetadataCredentialResolver.java中,凭据从元数据提供程序检索后,通过调用cacheCredentials来缓存凭据。

1 个答案:

答案 0 :(得分:1)

我能够通过覆盖MetadataCredentialResolver并使cacheCredentials成为无操作来解决这个问题。