Oauth 2.0 Apereo CAS属性缓存

Oauth 2.0 Apereo CAS属性缓存,oauth-2.0,single-sign-on,cas,Oauth 2.0,Single Sign On,Cas,默认情况下,CAS仅在登录时查询属性,并为整个SSO会话缓存属性。 我正在使用oauth2.0端点(/oauth2.0/profile)获取当前用户的属性。 属性存储在数据库中,并使用JDBC进行检索(CAS配置为CAS.authn.attributeRepository.JDBC[0].x.y.z类属性) 是否可以关闭缓存?每次有人访问/oauth2.0/profile端点时,我都要查询它们 CAS版本5.2.0参考: 默认情况下,解析的属性缓存到SSO会话的长度。如果自SSO会话开始以来

默认情况下,CAS仅在登录时查询属性,并为整个SSO会话缓存属性。 我正在使用oauth2.0端点(/oauth2.0/profile)获取当前用户的属性。 属性存储在数据库中,并使用JDBC进行检索(CAS配置为CAS.authn.attributeRepository.JDBC[0].x.y.z类属性)

是否可以关闭缓存?每次有人访问/oauth2.0/profile端点时,我都要查询它们


CAS版本5.2.0参考:

默认情况下,解析的属性缓存到SSO会话的长度。如果自SSO会话开始以来有任何属性值更改,则不会反映更改并在发布时返回服务

CAS主体和基础属性存储库源之间的关系(描述CAS主体属性应如何缓存以及缓存的长度)由属性存储库控制。在属性释放时,将咨询此组件,以确保根据缓存过期策略将适当的属性值释放到作用域服务。如果过期策略已通过,则将咨询基础属性存储库源以确定可用的属性集

该组件还能够解决现有主属性与通过mergingStrategy属性从存储库源检索的主属性之间的冲突。如果希望保留主体在身份验证事件等期间从不同位置检索到的属性集合,则此选项非常有用

此外,可以通过以下方式控制全局缓存策略:

# cas.authn.attributeRepository.expireInMinutes=30
# cas.authn.attributeRepository.maximumCacheSize=10000
# cas.authn.attributeRepository.merger=REPLACE|ADD|MERGE
参考:


上面的注释描述了属性的一般缓存策略。不确定它们对OAuth概要文件是否有相同的效果,但这是一个良好的开端

这些属性不起作用,我尝试将expireInMinutes设置为1,并等待了10分钟以上。数据库中的更新没有反映出来。我和你一样有确切的问题,而且这个建议对我也不起作用。你还有别的建议吗?