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

Single sign on 为什么即使我更新了IDP(OpenAM 12)中的数据,也会得到旧的SAML断言?(从浏览器中清理缓存数据),single-sign-on,saml,openam,redmine-plugins,Single Sign On,Saml,Openam,Redmine Plugins,情景: 1) 浏览器(用户)向服务提供商(SP)请求资源 2) SP(通过SAML请求)重定向到身份提供程序(IdP) 3) 由于是第一次登录,用户将向(IdP)提供其有效凭据 4) 然后,IdP将浏览器(带有包含SAML令牌的SAML响应)重定向到SP页面 在创建用户之后,如果我尝试进行身份验证,它将按预期工作 但当我在idp上更改用户数据,并在清理完成后重试时 任何浏览器(firefox、chrome)中的浏览器数据都只显示旧数据 在将idp发送到sp的过程中,SAML响应中的断言数据 甚

情景:

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

2) SP(通过SAML请求)重定向到身份提供程序(IdP)

3) 由于是第一次登录,用户将向(IdP)提供其有效凭据

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

  • 在创建用户之后,如果我尝试进行身份验证,它将按预期工作 但当我在idp上更改用户数据,并在清理完成后重试时 任何浏览器(firefox、chrome)中的浏览器数据都只显示旧数据 在将idp发送到sp的过程中,SAML响应中的断言数据
  • 甚至我也删除了idp上的用户,并使用相同的电子邮件id再次创建了该用户 对于不同的用户数据,它在SAML响应中只显示旧用户数据
  • 浏览器端没有任何内容,即使已清理缓存数据, Cookie和重新安装的浏览器
我经历过: 没有帮助

我在idp(OpenAM)端有任何设置来解决它吗?(如果未指定NameID格式,我已取消选中禁用联合身份持久性:)

idp:OpenAM-12.0.0,sp:redmine SAML ominiauth


所以我在这里错过了什么,我不明白。

我通过探索OpenAM端的东西找到了一个解决方案。 SAML插件没有问题。是OpenAM缓存了SAML断言属性,所以每次它都使用SAML响应获取旧断言。 要解决此问题,需要在OpenAM中执行以下步骤:

1) 选择联合选择SP(从实体提供程序列表)-断言内容

-选中“如果未指定NameID格式,则禁用联合身份验证持久性:”

2) 如果上述情况不起作用,则遵循以下流程:

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

-添加以下属性:

 -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

OpenAM不缓存SAML响应,默认情况下它只缓存用户标识属性。。。。巨大的差异