From e0284a450307cd3b4be862ea0013e9a73053cc4b Mon Sep 17 00:00:00 2001 From: hdeadman Date: Sat, 10 Dec 2022 13:16:31 -0500 Subject: [PATCH] Fix CAS packages for 4.0.1 and Jasig references Issue gh-11674 --- cas/spring-security-cas.gradle | 2 +- .../CasAssertionAuthenticationToken.java | 2 +- .../CasAuthenticationProvider.java | 6 +++--- .../authentication/CasAuthenticationToken.java | 2 +- .../SpringCacheBasedTicketCache.java | 2 +- .../cas/authentication/package-info.java | 2 +- .../cas/jackson2/AssertionImplMixin.java | 8 ++++---- .../jackson2/AttributePrincipalImplMixin.java | 10 +++++----- .../jackson2/CasAuthenticationTokenMixin.java | 4 ++-- .../security/cas/jackson2/CasJackson2Module.java | 6 +++--- .../security/cas/package-info.java | 6 +++--- .../AbstractCasAssertionUserDetailsService.java | 2 +- ...romAssertionAttributesUserDetailsService.java | 2 +- .../cas/web/CasAuthenticationEntryPoint.java | 3 +-- .../cas/web/CasAuthenticationFilter.java | 11 +++++------ .../DefaultServiceAuthenticationDetails.java | 2 +- .../ServiceAuthenticationDetails.java | 2 +- .../ServiceAuthenticationDetailsSource.java | 2 +- .../cas/web/authentication/package-info.java | 2 +- .../security/cas/web/package-info.java | 2 +- .../AbstractStatelessTicketCacheTests.java | 6 +++--- .../CasAuthenticationProviderTests.java | 6 +++--- .../CasAuthenticationTokenTests.java | 4 ++-- .../CasAuthenticationTokenMixinTests.java | 15 ++++++++------- ...sertionAttributesUserDetailsServiceTests.java | 6 +++--- .../cas/web/CasAuthenticationFilterTests.java | 9 ++++----- ...DefaultServiceAuthenticationDetailsTests.java | 2 +- .../web/builders/HttpConfigurationTests.java | 14 +++++++------- dependencies/spring-security-dependencies.gradle | 2 +- .../ROOT/pages/servlet/authentication/cas.adoc | 16 ++++++++-------- 30 files changed, 78 insertions(+), 80 deletions(-) diff --git a/cas/spring-security-cas.gradle b/cas/spring-security-cas.gradle index f340ec7dda..cebebbc9be 100644 --- a/cas/spring-security-cas.gradle +++ b/cas/spring-security-cas.gradle @@ -4,7 +4,7 @@ dependencies { management platform(project(":spring-security-dependencies")) api project(':spring-security-core') api project(':spring-security-web') - api 'org.jasig.cas.client:cas-client-core' + api 'org.apereo.cas.client:cas-client-core' api 'org.springframework:spring-beans' api 'org.springframework:spring-context' api 'org.springframework:spring-core' diff --git a/cas/src/main/java/org/springframework/security/cas/authentication/CasAssertionAuthenticationToken.java b/cas/src/main/java/org/springframework/security/cas/authentication/CasAssertionAuthenticationToken.java index d04d30d154..9d93152094 100644 --- a/cas/src/main/java/org/springframework/security/cas/authentication/CasAssertionAuthenticationToken.java +++ b/cas/src/main/java/org/springframework/security/cas/authentication/CasAssertionAuthenticationToken.java @@ -18,7 +18,7 @@ package org.springframework.security.cas.authentication; import java.util.ArrayList; -import org.jasig.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.Assertion; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.core.SpringSecurityCoreVersion; diff --git a/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationProvider.java b/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationProvider.java index 3a84c2109a..36fd203f88 100644 --- a/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationProvider.java +++ b/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationProvider.java @@ -18,9 +18,9 @@ package org.springframework.security.cas.authentication; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.jasig.cas.client.validation.Assertion; -import org.jasig.cas.client.validation.TicketValidationException; -import org.jasig.cas.client.validation.TicketValidator; +import org.apereo.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.TicketValidationException; +import org.apereo.cas.client.validation.TicketValidator; import org.springframework.beans.factory.InitializingBean; import org.springframework.context.MessageSource; diff --git a/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationToken.java b/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationToken.java index 8020da0400..7efdf8e939 100644 --- a/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationToken.java +++ b/cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationToken.java @@ -19,7 +19,7 @@ package org.springframework.security.cas.authentication; import java.io.Serializable; import java.util.Collection; -import org.jasig.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.Assertion; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.core.GrantedAuthority; diff --git a/cas/src/main/java/org/springframework/security/cas/authentication/SpringCacheBasedTicketCache.java b/cas/src/main/java/org/springframework/security/cas/authentication/SpringCacheBasedTicketCache.java index b72e824c75..a07148cd5f 100644 --- a/cas/src/main/java/org/springframework/security/cas/authentication/SpringCacheBasedTicketCache.java +++ b/cas/src/main/java/org/springframework/security/cas/authentication/SpringCacheBasedTicketCache.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/main/java/org/springframework/security/cas/authentication/package-info.java b/cas/src/main/java/org/springframework/security/cas/authentication/package-info.java index 8803500a0a..e3c7518dbf 100644 --- a/cas/src/main/java/org/springframework/security/cas/authentication/package-info.java +++ b/cas/src/main/java/org/springframework/security/cas/authentication/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/main/java/org/springframework/security/cas/jackson2/AssertionImplMixin.java b/cas/src/main/java/org/springframework/security/cas/jackson2/AssertionImplMixin.java index f3d7de8c02..e5e48617b7 100644 --- a/cas/src/main/java/org/springframework/security/cas/jackson2/AssertionImplMixin.java +++ b/cas/src/main/java/org/springframework/security/cas/jackson2/AssertionImplMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,11 +24,11 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import org.jasig.cas.client.authentication.AttributePrincipal; +import org.apereo.cas.client.authentication.AttributePrincipal; /** * Helps in jackson deserialization of class - * {@link org.jasig.cas.client.validation.AssertionImpl}, which is used with + * {@link org.apereo.cas.client.validation.AssertionImpl}, which is used with * {@link org.springframework.security.cas.authentication.CasAuthenticationToken}. To use * this class we need to register with * {@link com.fasterxml.jackson.databind.ObjectMapper}. Type information will be stored @@ -52,7 +52,7 @@ class AssertionImplMixin { /** * Mixin Constructor helps in deserialize - * {@link org.jasig.cas.client.validation.AssertionImpl} + * {@link org.apereo.cas.client.validation.AssertionImpl} * @param principal the Principal to associate with the Assertion. * @param validFromDate when the assertion is valid from. * @param validUntilDate when the assertion is valid to. diff --git a/cas/src/main/java/org/springframework/security/cas/jackson2/AttributePrincipalImplMixin.java b/cas/src/main/java/org/springframework/security/cas/jackson2/AttributePrincipalImplMixin.java index 0ec671fb55..ef9e3e8654 100644 --- a/cas/src/main/java/org/springframework/security/cas/jackson2/AttributePrincipalImplMixin.java +++ b/cas/src/main/java/org/springframework/security/cas/jackson2/AttributePrincipalImplMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,11 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import org.jasig.cas.client.proxy.ProxyRetriever; +import org.apereo.cas.client.proxy.ProxyRetriever; /** - * Helps in deserialize {@link org.jasig.cas.client.authentication.AttributePrincipalImpl} - * which is used with + * Helps in deserialize + * {@link org.apereo.cas.client.authentication.AttributePrincipalImpl} which is used with * {@link org.springframework.security.cas.authentication.CasAuthenticationToken}. Type * information will be stored in property named @class. *

@@ -49,7 +49,7 @@ class AttributePrincipalImplMixin { /** * Mixin Constructor helps in deserialize - * {@link org.jasig.cas.client.authentication.AttributePrincipalImpl} + * {@link org.apereo.cas.client.authentication.AttributePrincipalImpl} * @param name the unique identifier for the principal. * @param attributes the key/value pairs for this principal. * @param proxyGrantingTicket the ticket associated with this principal. diff --git a/cas/src/main/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixin.java b/cas/src/main/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixin.java index 80e40a0dca..26aa5effd3 100644 --- a/cas/src/main/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixin.java +++ b/cas/src/main/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import org.jasig.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.Assertion; import org.springframework.security.cas.authentication.CasAuthenticationProvider; import org.springframework.security.cas.authentication.CasAuthenticationToken; diff --git a/cas/src/main/java/org/springframework/security/cas/jackson2/CasJackson2Module.java b/cas/src/main/java/org/springframework/security/cas/jackson2/CasJackson2Module.java index 34f19ca10a..b6c7c6f8fa 100644 --- a/cas/src/main/java/org/springframework/security/cas/jackson2/CasJackson2Module.java +++ b/cas/src/main/java/org/springframework/security/cas/jackson2/CasJackson2Module.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,8 @@ package org.springframework.security.cas.jackson2; import com.fasterxml.jackson.core.Version; import com.fasterxml.jackson.databind.module.SimpleModule; -import org.jasig.cas.client.authentication.AttributePrincipalImpl; -import org.jasig.cas.client.validation.AssertionImpl; +import org.apereo.cas.client.authentication.AttributePrincipalImpl; +import org.apereo.cas.client.validation.AssertionImpl; import org.springframework.security.cas.authentication.CasAuthenticationToken; import org.springframework.security.jackson2.SecurityJackson2Modules; diff --git a/cas/src/main/java/org/springframework/security/cas/package-info.java b/cas/src/main/java/org/springframework/security/cas/package-info.java index 13fae9057d..d11703d82c 100644 --- a/cas/src/main/java/org/springframework/security/cas/package-info.java +++ b/cas/src/main/java/org/springframework/security/cas/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ /** - * Spring Security support for Jasig's Central Authentication Service - * (CAS). + * Spring Security support for Apereo's Central Authentication Service + * (CAS). */ package org.springframework.security.cas; diff --git a/cas/src/main/java/org/springframework/security/cas/userdetails/AbstractCasAssertionUserDetailsService.java b/cas/src/main/java/org/springframework/security/cas/userdetails/AbstractCasAssertionUserDetailsService.java index 3d8cd9e412..2a1ccfc9ef 100644 --- a/cas/src/main/java/org/springframework/security/cas/userdetails/AbstractCasAssertionUserDetailsService.java +++ b/cas/src/main/java/org/springframework/security/cas/userdetails/AbstractCasAssertionUserDetailsService.java @@ -16,7 +16,7 @@ package org.springframework.security.cas.userdetails; -import org.jasig.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.Assertion; import org.springframework.security.cas.authentication.CasAssertionAuthenticationToken; import org.springframework.security.core.userdetails.AuthenticationUserDetailsService; diff --git a/cas/src/main/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsService.java b/cas/src/main/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsService.java index 0e47d1c57f..df19e1033a 100644 --- a/cas/src/main/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsService.java +++ b/cas/src/main/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsService.java @@ -19,7 +19,7 @@ package org.springframework.security.cas.userdetails; import java.util.ArrayList; import java.util.List; -import org.jasig.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.Assertion; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; diff --git a/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationEntryPoint.java b/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationEntryPoint.java index 18ecb23623..47311ccf7d 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationEntryPoint.java +++ b/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationEntryPoint.java @@ -20,8 +20,7 @@ import java.io.IOException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; - -import org.jasig.cas.client.util.CommonUtils; +import org.apereo.cas.client.util.CommonUtils; import org.springframework.beans.factory.InitializingBean; import org.springframework.security.cas.ServiceProperties; diff --git a/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationFilter.java b/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationFilter.java index 8e8b84700f..8a0790c0cd 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationFilter.java +++ b/cas/src/main/java/org/springframework/security/cas/web/CasAuthenticationFilter.java @@ -22,10 +22,9 @@ import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; - -import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage; -import org.jasig.cas.client.util.CommonUtils; -import org.jasig.cas.client.validation.TicketValidator; +import org.apereo.cas.client.proxy.ProxyGrantingTicketStorage; +import org.apereo.cas.client.util.CommonUtils; +import org.apereo.cas.client.validation.TicketValidator; import org.springframework.core.log.LogMessage; import org.springframework.security.authentication.AnonymousAuthenticationToken; @@ -133,7 +132,7 @@ import org.springframework.util.Assert; * NOTE: In a real application you should not use an in memory implementation. You will also want * to ensure to clean up expired tickets by calling ProxyGrantingTicketStorage.cleanup() * --> - * <b:bean id="pgtStorage" class="org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl"/> + * <b:bean id="pgtStorage" class="org.apereo.cas.client.proxy.ProxyGrantingTicketStorageImpl"/> * <b:bean id="casAuthProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider" * p:serviceProperties-ref="serviceProperties" * p:key="casAuthProviderKey"> @@ -145,7 +144,7 @@ import org.springframework.util.Assert; * </b:property> * <b:property name="ticketValidator"> * <b:bean - * class="org.jasig.cas.client.validation.Cas20ProxyTicketValidator" + * class="org.apereo.cas.client.validation.Cas20ProxyTicketValidator" * p:acceptAnyProxy="true" * p:proxyCallbackUrl="https://service.example.com/cas-sample/login/cas/proxyreceptor" * p:proxyGrantingTicketStorage-ref="pgtStorage"> diff --git a/cas/src/main/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetails.java b/cas/src/main/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetails.java index c550e984ea..bc19183a79 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetails.java +++ b/cas/src/main/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 the original author or authors. + * Copyright 2011-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetails.java b/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetails.java index e14da3d70e..9c39d66544 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetails.java +++ b/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 the original author or authors. + * Copyright 2011-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetailsSource.java b/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetailsSource.java index b8515892dc..a623a45434 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetailsSource.java +++ b/cas/src/main/java/org/springframework/security/cas/web/authentication/ServiceAuthenticationDetailsSource.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 the original author or authors. + * Copyright 2011-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/main/java/org/springframework/security/cas/web/authentication/package-info.java b/cas/src/main/java/org/springframework/security/cas/web/authentication/package-info.java index ecd447dbac..ebfcddce91 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/authentication/package-info.java +++ b/cas/src/main/java/org/springframework/security/cas/web/authentication/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/main/java/org/springframework/security/cas/web/package-info.java b/cas/src/main/java/org/springframework/security/cas/web/package-info.java index 903fdb8d4c..ecba987b1d 100644 --- a/cas/src/main/java/org/springframework/security/cas/web/package-info.java +++ b/cas/src/main/java/org/springframework/security/cas/web/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cas/src/test/java/org/springframework/security/cas/authentication/AbstractStatelessTicketCacheTests.java b/cas/src/test/java/org/springframework/security/cas/authentication/AbstractStatelessTicketCacheTests.java index 7f1233b7d5..a337eac47b 100644 --- a/cas/src/test/java/org/springframework/security/cas/authentication/AbstractStatelessTicketCacheTests.java +++ b/cas/src/test/java/org/springframework/security/cas/authentication/AbstractStatelessTicketCacheTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,8 +19,8 @@ package org.springframework.security.cas.authentication; import java.util.ArrayList; import java.util.List; -import org.jasig.cas.client.validation.Assertion; -import org.jasig.cas.client.validation.AssertionImpl; +import org.apereo.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.AssertionImpl; import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.userdetails.User; diff --git a/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationProviderTests.java b/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationProviderTests.java index 242d32a730..ed3e296029 100644 --- a/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationProviderTests.java +++ b/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationProviderTests.java @@ -19,9 +19,9 @@ package org.springframework.security.cas.authentication; import java.util.HashMap; import java.util.Map; -import org.jasig.cas.client.validation.Assertion; -import org.jasig.cas.client.validation.AssertionImpl; -import org.jasig.cas.client.validation.TicketValidator; +import org.apereo.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.AssertionImpl; +import org.apereo.cas.client.validation.TicketValidator; import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockHttpServletRequest; diff --git a/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationTokenTests.java b/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationTokenTests.java index 8ac076830b..3a5ee3ee49 100644 --- a/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationTokenTests.java +++ b/cas/src/test/java/org/springframework/security/cas/authentication/CasAuthenticationTokenTests.java @@ -19,8 +19,8 @@ package org.springframework.security.cas.authentication; import java.util.Collections; import java.util.List; -import org.jasig.cas.client.validation.Assertion; -import org.jasig.cas.client.validation.AssertionImpl; +import org.apereo.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.AssertionImpl; import org.junit.jupiter.api.Test; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/cas/src/test/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixinTests.java b/cas/src/test/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixinTests.java index ce333d4d83..41fa6e5ace 100644 --- a/cas/src/test/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixinTests.java +++ b/cas/src/test/java/org/springframework/security/cas/jackson2/CasAuthenticationTokenMixinTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,9 +23,9 @@ import java.util.Date; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.jasig.cas.client.authentication.AttributePrincipalImpl; -import org.jasig.cas.client.validation.Assertion; -import org.jasig.cas.client.validation.AssertionImpl; +import org.apereo.cas.client.authentication.AttributePrincipalImpl; +import org.apereo.cas.client.validation.Assertion; +import org.apereo.cas.client.validation.AssertionImpl; import org.json.JSONException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -79,14 +79,15 @@ public class CasAuthenticationTokenMixinTests { + "\"keyHash\": " + KEY.hashCode() + "," + "\"principal\": " + USER_JSON + ", " + "\"credentials\": " + PASSWORD + ", " + "\"authorities\": " + AUTHORITIES_ARRAYLIST_JSON + "," + "\"userDetails\": " + USER_JSON + "," + "\"authenticated\": true, " + "\"details\": null," + "\"assertion\": {" - + "\"@class\": \"org.jasig.cas.client.validation.AssertionImpl\", " + "\"principal\": {" - + "\"@class\": \"org.jasig.cas.client.authentication.AttributePrincipalImpl\", " + + "\"@class\": \"org.apereo.cas.client.validation.AssertionImpl\", " + "\"principal\": {" + + "\"@class\": \"org.apereo.cas.client.authentication.AttributePrincipalImpl\", " + "\"name\": \"assertName\", " + "\"attributes\": {\"@class\": \"java.util.Collections$EmptyMap\"}, " + "\"proxyGrantingTicket\": null, " + "\"proxyRetriever\": null" + "}, " + "\"validFromDate\": [\"java.util.Date\", " + START_DATE.getTime() + "], " + "\"validUntilDate\": [\"java.util.Date\", " + END_DATE.getTime() + "]," + "\"authenticationDate\": [\"java.util.Date\", " + START_DATE.getTime() + "], " - + "\"attributes\": {\"@class\": \"java.util.Collections$EmptyMap\"}" + "}" + "}"; + + "\"attributes\": {\"@class\": \"java.util.Collections$EmptyMap\"}," + + "\"context\": {\"@class\":\"java.util.HashMap\"}" + "}" + "}"; private static final String CAS_TOKEN_CLEARED_JSON = CAS_TOKEN_JSON.replaceFirst(PASSWORD, "null"); diff --git a/cas/src/test/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsServiceTests.java b/cas/src/test/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsServiceTests.java index 3db719dcc2..5814d65851 100644 --- a/cas/src/test/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsServiceTests.java +++ b/cas/src/test/java/org/springframework/security/cas/userdetails/GrantedAuthorityFromAssertionAttributesUserDetailsServiceTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,8 +21,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; -import org.jasig.cas.client.authentication.AttributePrincipal; -import org.jasig.cas.client.validation.Assertion; +import org.apereo.cas.client.authentication.AttributePrincipal; +import org.apereo.cas.client.validation.Assertion; import org.junit.jupiter.api.Test; import org.springframework.security.cas.authentication.CasAssertionAuthenticationToken; diff --git a/cas/src/test/java/org/springframework/security/cas/web/CasAuthenticationFilterTests.java b/cas/src/test/java/org/springframework/security/cas/web/CasAuthenticationFilterTests.java index f19222baf2..495f1604c4 100644 --- a/cas/src/test/java/org/springframework/security/cas/web/CasAuthenticationFilterTests.java +++ b/cas/src/test/java/org/springframework/security/cas/web/CasAuthenticationFilterTests.java @@ -17,8 +17,7 @@ package org.springframework.security.cas.web; import jakarta.servlet.FilterChain; - -import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage; +import org.apereo.cas.client.proxy.ProxyGrantingTicketStorage; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -41,8 +40,8 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.verifyZeroInteractions; /** * Tests {@link CasAuthenticationFilter}. @@ -173,7 +172,7 @@ public class CasAuthenticationFilterTests { assertThat(SecurityContextHolder.getContext().getAuthentication()).isNotNull() .withFailMessage("Authentication should not be null"); verify(chain).doFilter(request, response); - verifyZeroInteractions(successHandler); + verifyNoInteractions(successHandler); // validate for when the filterProcessUrl matches filter.setFilterProcessesUrl(request.getServletPath()); SecurityContextHolder.clearContext(); @@ -193,7 +192,7 @@ public class CasAuthenticationFilterTests { filter.setProxyGrantingTicketStorage(mock(ProxyGrantingTicketStorage.class)); filter.setProxyReceptorUrl(request.getServletPath()); filter.doFilter(request, response, chain); - verifyZeroInteractions(chain); + verifyNoInteractions(chain); } } diff --git a/cas/src/test/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetailsTests.java b/cas/src/test/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetailsTests.java index 893d256775..8645f4929d 100644 --- a/cas/src/test/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetailsTests.java +++ b/cas/src/test/java/org/springframework/security/cas/web/authentication/DefaultServiceAuthenticationDetailsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 the original author or authors. + * Copyright 2011-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/config/src/test/java/org/springframework/security/config/annotation/web/builders/HttpConfigurationTests.java b/config/src/test/java/org/springframework/security/config/annotation/web/builders/HttpConfigurationTests.java index b642bf287e..27c0cdabc4 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/web/builders/HttpConfigurationTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/web/builders/HttpConfigurationTests.java @@ -32,7 +32,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.cas.web.CasAuthenticationFilter; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.test.SpringTestContext; import org.springframework.security.config.test.SpringTestContextExtension; @@ -125,18 +124,19 @@ public class HttpConfigurationTests { } @EnableWebSecurity - static class CasAuthenticationFilterConfig extends WebSecurityConfigurerAdapter { + static class CasAuthenticationFilterConfig { - static CasAuthenticationFilter CAS_AUTHENTICATION_FILTER; - - @Override - protected void configure(HttpSecurity http) { + @Bean + SecurityFilterChain filterChain(HttpSecurity http) throws Exception { // @formatter:off http - .addFilter(CAS_AUTHENTICATION_FILTER); + .addFilter(CAS_AUTHENTICATION_FILTER); // @formatter:on + return http.build(); } + static CasAuthenticationFilter CAS_AUTHENTICATION_FILTER; + } @Configuration diff --git a/dependencies/spring-security-dependencies.gradle b/dependencies/spring-security-dependencies.gradle index 8aaac47a6b..75c9dafe81 100644 --- a/dependencies/spring-security-dependencies.gradle +++ b/dependencies/spring-security-dependencies.gradle @@ -57,7 +57,7 @@ dependencies { api "org.hamcrest:hamcrest:2.2" api "org.hibernate.orm:hibernate-core:6.1.5.Final" api "org.hsqldb:hsqldb:2.7.1" - api "org.jasig.cas.client:cas-client-core:3.6.4" + api "org.apereo.cas.client:cas-client-core:4.0.1" api "org.opensaml:opensaml-core:$openSamlVersion" api "org.opensaml:opensaml-saml-api:$openSamlVersion" api "org.opensaml:opensaml-saml-impl:$openSamlVersion" diff --git a/docs/modules/ROOT/pages/servlet/authentication/cas.adoc b/docs/modules/ROOT/pages/servlet/authentication/cas.adoc index 5b6dd7617e..0b40c63703 100644 --- a/docs/modules/ROOT/pages/servlet/authentication/cas.adoc +++ b/docs/modules/ROOT/pages/servlet/authentication/cas.adoc @@ -163,7 +163,7 @@ Next you need to add a `CasAuthenticationProvider` and its collaborators: - + @@ -208,7 +208,7 @@ Below are updates to the Spring Security configuration that handle Single Logout - + - org.jasig.cas.client.session.SingleSignOutHttpSessionListener + org.apereo.cas.client.session.SingleSignOutHttpSessionListener ---- When using the SingleSignOutFilter you might encounter some encoding issues. Therefore it is recommended to add the `CharacterEncodingFilter` to ensure that the character encoding is correct when using the `SingleSignOutFilter`. -Again, refer to JASIG's documentation for details. +Again, refer to Apereo CAS's documentation for details. The `SingleSignOutHttpSessionListener` ensures that when an `HttpSession` expires, the mapping used for single logout is removed. @@ -293,7 +293,7 @@ NOTE: In a real application you should not use an in memory implementation. You will also want to ensure to clean up expired tickets by calling ProxyGrantingTicketStorage.cleanup() --> - + ---- The next step is to update the `CasAuthenticationProvider` to be able to obtain proxy tickets. @@ -308,7 +308,7 @@ You can find an example of the configuration changes that should be made below. class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> ... - + @@ -439,7 +439,7 @@ You can find an example of the updates required to accept all proxies below. class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> ... - +