为什么即使我更新了 IDP(OpenAM 12)中的数据,我也会得到旧的 SAML 断言?(从浏览器中清除缓存数据)

Why do I get old SAML assertion even I updated data in IDP(OpenAM 12)?(cleaned cached data from browser)

场景:

1) 浏览器(用户)向服务提供商 (SP) 请求资源。

2) SP 重定向(使用 SAML 请求)到身份提供商 (IdP)。

3) 由于是首次登录,用户提供 (IdP) his/her 有效凭据。

4) IdP 然后将浏览器(使用包含 SAML 令牌的 SAML 响应)重定向到 SP 页面。

我经历过:Are SAML tokens cache/stored anywhere on the browser? 没有帮助。

我在 idp (OpenAM) 端有什么设置可以解决这个问题吗? (如果未指定 NameID 格式,我没有选中禁用联合持久性:)

idp: OpenAM-12.0.0, sp: redmine SAML omiauth

所以我在这里想念的东西,我不明白。

我通过探索 OpenAM 方面的内容找到了解决方案。 SAML 插件没有问题。 OpenAM 缓存了 SAML 断言属性,因此每次它都采用带有 SAML 响应的旧断言。 要解决问题,需要在 OpenAM 中执行以下步骤:

1) Select Federation-Select SP(来自实体提供者列表)-断言内容

-检查"Disable Federation persistence if NameID Format is unspecified:"

2) 如果上述情况不起作用,请按照以下流程操作:

-Select配置-服务器和站点-默认服务器设置:

-添加以下属性:

 -com.sun.identity.idm.cache.entry.expire.enabled=true
 -com.sun.identity.idm.cache.entry.user.expire.time=10
 -com.sun.identity.idm.cache.entry.default.expire.time=10