From 89246998c423843e0f3a1b592eaca285d11f6070 Mon Sep 17 00:00:00 2001 From: Josh Cummings Date: Tue, 20 Feb 2024 17:16:37 -0700 Subject: [PATCH] Move Cas Class Closes gh-14627 --- .../CasAuthenticationProvider.java | 1 - .../ServiceAuthenticationDetails.java | 41 +++++++++++++++++++ .../ServiceAuthenticationDetails.java | 20 +++++---- 3 files changed, 52 insertions(+), 10 deletions(-) create mode 100644 cas/src/main/java/org/springframework/security/cas/authentication/ServiceAuthenticationDetails.java 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 6467a928e3..5b390fe19b 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 @@ -31,7 +31,6 @@ import org.springframework.security.authentication.AccountStatusUserDetailsCheck import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.cas.ServiceProperties; -import org.springframework.security.cas.web.authentication.ServiceAuthenticationDetails; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.SpringSecurityMessageSource; diff --git a/cas/src/main/java/org/springframework/security/cas/authentication/ServiceAuthenticationDetails.java b/cas/src/main/java/org/springframework/security/cas/authentication/ServiceAuthenticationDetails.java new file mode 100644 index 0000000000..d35c2d7732 --- /dev/null +++ b/cas/src/main/java/org/springframework/security/cas/authentication/ServiceAuthenticationDetails.java @@ -0,0 +1,41 @@ +/* + * Copyright 2011-2024 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.security.cas.authentication; + +import java.io.Serializable; + +import org.springframework.security.cas.ServiceProperties; +import org.springframework.security.core.Authentication; + +/** + * In order for the {@link CasAuthenticationProvider} to provide the correct service url + * to authenticate the ticket, the returned value of {@link Authentication#getDetails()} + * should implement this interface when tickets can be sent to any URL rather than only + * {@link ServiceProperties#getService()}. + * + * @author Rob Winch + * @see org.springframework.security.cas.web.authentication.ServiceAuthenticationDetailsSource + */ +public interface ServiceAuthenticationDetails extends Serializable { + + /** + * Gets the absolute service url (i.e. https://example.com/service/). + * @return the service url. Cannot be null. + */ + String getServiceUrl(); + +} 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 9c39d66544..91d6a34d66 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-2023 the original author or authors. + * Copyright 2011-2024 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. @@ -16,22 +16,24 @@ package org.springframework.security.cas.web.authentication; -import java.io.Serializable; - import org.springframework.security.cas.ServiceProperties; -import org.springframework.security.cas.authentication.CasAuthenticationProvider; import org.springframework.security.core.Authentication; /** - * In order for the {@link CasAuthenticationProvider} to provide the correct service url - * to authenticate the ticket, the returned value of {@link Authentication#getDetails()} - * should implement this interface when tickets can be sent to any URL rather than only - * {@link ServiceProperties#getService()}. + * In order for the + * {@link org.springframework.security.cas.authentication.CasAuthenticationProvider} to + * provide the correct service url to authenticate the ticket, the returned value of + * {@link Authentication#getDetails()} should implement this interface when tickets can be + * sent to any URL rather than only {@link ServiceProperties#getService()}. * * @author Rob Winch * @see ServiceAuthenticationDetailsSource + * @deprecated Please use + * org.springframework.security.cas.authentication.ServiceAuthenticationDetails */ -public interface ServiceAuthenticationDetails extends Serializable { +@Deprecated +public interface ServiceAuthenticationDetails + extends org.springframework.security.cas.authentication.ServiceAuthenticationDetails { /** * Gets the absolute service url (i.e. https://example.com/service/).