CAS <= 6.1 : mélange de session

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 :

Détails :

Donc avec redis,

CAS >= 5.2 : #xxx doublé dans l'url

Lorsqu'une redirige vers CAS, le fragment d'url est conservé. Par contre le form POST de la mire CAS peut perdre le fragment.

Depuis CAS 5.2, CAS tente de conserver le fragment, mais ce fragment est ajouté deux fois, ce qui perturbe certaines applications

Correctif : https://github.com/apereo/cas/pull/5371/commits/f41689c05b8ab62921f4a21635f40c8d99025312

Cf https://github.com/apereo/cas/pull/5371

CAS 6.4.[0-4] : délégation OpenID Connect

NB : le fix a été accepté et 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 :

java.lang.IllegalAccessError: class org.pac4j.oidc.profile.creator.OidcProfileCreator tried to access protected method com.nimbusds.oauth2.sdk.ProtectedResourceRequest.<init>(Ljava/net/URI;Lcom/nimbusds/oauth2/sdk/token/AccessToken;)V (org.pac4j.oidc.profile.creator.OidcProfileCreator and com.nimbusds.oauth2.sdk.ProtectedResourceRequest are in unnamed module of loader 'app')

Solution : modifiez build.gradle :

+    // pour délégation : 
+    // ( https://github.com/apereo/cas/pull/5334 )
+    implementation "com.nimbusds:oauth2-oidc-sdk:9.14"
+    implementation "org.apereo.cas:cas-server-support-pac4j-webflow"
@@ -562,17 +559,17 @@ bootWar {
         cas {
             from "org.apereo.cas:cas-server-webapp${project.appServer}:${project.'cas.version'}@war"
 
             provided = false
-            excludes = ["WEB-INF/lib/servlet-api-2*.jar"]
+            excludes = ["WEB-INF/lib/servlet-api-2*.jar", "WEB-INF/lib/oauth2-oidc-sdk-9.13.jar"]

Détails : https://github.com/apereo/cas/pull/5334

CAS 6.4 : cas-server-support-trusted-mfa-redis bug

cas-server-support-trusted-mfa-redis seems to trigger spring-boot RedisRepositoriesAutoConfiguration, which fails to start with a "redisTemplate" error.

Solution : ajouter ceci dans cas.properties :

spring.data.redis.repositories.enabled: false