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

乌梅什·拉贾尼(Umesh Rajani)

设想:

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

2)SP重定向(带有SAML请求)到身份提供者(IdP)。

3)由于是首次登录,因此用户向(IdP)提供他/她的有效凭据。

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

  • 创建用户后,如果我尝试对其进行身份验证,则可以按预期工作,但是当我更改idp上的用户数据时,并尝试在任何一种浏览器(firefox,chrome)中清除完整的浏览器数据后,都只会在SAML响应中显示旧的断言数据。 idp到sp的方法。
  • 甚至我在idp上删除了用户,并使用相同的电子邮件ID和不同的用户数据再次创建了该文件,它在SAML响应中仅显示了旧用户数据。
  • 即使清除了缓存的数据,cookie以及重新安装的浏览器,在浏览器端也没有任何东西。

我经历过:SAML令牌是否在浏览器中缓存/存储在任何地方?没有帮助。

我在idp(OpenAM)端有任何设置可以解决吗?(如果未指定NameID格式,则我未选中“禁用联合持久性” :)

idp:OpenAM-12.0.0,sp:redmine SAML ominiauth

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

乌梅什·拉贾尼(Umesh Rajani)

通过在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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档