...
Cf "Danger du cache attribute-repository" sur la page Paramétres importants de la configuration CAS.
Ticket registry JPA bug
Voir le retour de l'URN sur mise en place de CAS 6.0.4
RememberMe et ticket registry
tl;dr :
- ne pas utiliser Memcache pour le ticket registry si RememberMe
- avec redis, les TGT non remember-me sont nettoyés par le "registry cleaner"
Détails :
RememberMeDelegatingExpirationPolicy peut choisir des ExpirationPolicy en fonction du
TicketState
. C'est notamment utilisé par la méthodeisExpired
.quand le ticket registry cleaner est actif, il utilise
isExpired
mais pas de "ticket registry cleaner" avec memcache (contrairement à redis) (ref : MemcachedTicketRegistryConfiguration)
à l'ajout du ticket dans memcache (pareil pour redis), c'est le default policy qui est utilisé (cf MemcachedTicketRegistry et BaseDelegatingExpirationPolicy ). La durée de mise en memcache est indépendante de la case rememberMe...
Donc avec redis,
- mettre un très haut
cas.ticket.tgt.primary.max-time-to-live-in-seconds
(appelécas.ticket.tgt.hardTimeout.timeToKillInSeconds
en CAS 5.3) qui sera utilisé dans redis - et CAS fera des passes (bien moches) pour appliquer les règles plus précises (cf
cas.ticket.registry.cleaner.schedule.repeatInterval
qui est toutes les 2 min par défaut)
CAS 6.4.[0-4] : délégation OpenID Connect
NB : le fix a été accepté et devrait être est inclus en 6.4.5
CAS 6.4 intègre pac4j >= 5.1.4, or pac4j oidc ne fonctionne pas avec nimbus oidc < 9.14 :
...
spring.data.redis.repositories.enabled: false
Ticket registry JPA bug
Voir le retour de l'URN sur mise en place de CAS 6.0.4
RememberMe et ticket registry
tl;dr :
- ne pas utiliser Memcache pour le ticket registry si RememberMe
- avec redis, les TGT non remember-me sont nettoyés par le "registry cleaner"
Détails :
RememberMeDelegatingExpirationPolicy peut choisir des ExpirationPolicy en fonction du
TicketState
. C'est notamment utilisé par la méthodeisExpired
.quand le ticket registry cleaner est actif, il utilise
isExpired
mais pas de "ticket registry cleaner" avec memcache (contrairement à redis) (ref : MemcachedTicketRegistryConfiguration)
à l'ajout du ticket dans memcache (pareil pour redis), c'est le default policy qui est utilisé (cf MemcachedTicketRegistry et BaseDelegatingExpirationPolicy ). La durée de mise en memcache est indépendante de la case rememberMe...
Donc avec redis,
...