Hi, I'm using jasig cas serverside based on
[email protected]:casinthecloud/cas-pac4j-oauth-demo.git
I'm having trouble with the error handling. When a 404 page should be shown
I get a json file with the data instead. Like this:
{ "type":
"problemDetail.type.org.springframework.web.servlet.resource.NoResourceFoundException",
"title":
"problemDetail.title.org.springframework.web.servlet.resource.NoResourceFoundException",
"status": 404, "detail":
"problemDetail.org.springframework.web.servlet.resource.NoResourceFoundException",
"instance": "/cas/css/fonts.css" }
I would like to create my own 404 page using templating.
I tried asking chatGPT for help. It recommended using the following config:
cas:
view:
template-prefixes: classpath:/templates/...
error:
not-found: classpath:/templates/.../error/404.html
unauthorized: classpath:/templates/.../error/unauthorized.html
access-denied: classpath:/templates/.../error/accessDenied.html
login-failure: classpath:/templates/.../error/loginFailure.html
error: classpath:/templates/error/.../generalError.html
But this doesn't work. It still get the JSON file instead. And I cannot
find these properties anywhere in the documentation. Asking ChatGPT where
it found it lead to nowhere.
The error pages are all in the correct directories, for example:
\src\main\resources\templates\...\error\404.html
Logs:
cas-1 | org.pac4j.core.exception.TechnicalException:
com.github.scribejava.core.model.OAuth2AccessTokenErrorResponse:
{"error":"invalid_grant","error_description":"AADSTS54005: OAuth2
Authorization code was already redeemed, please retry with a new valid code
or use an existing refresh token. Trace ID:
2e19189a-c3df-4a34-9b59-63b5f27f7901 Correlation ID: 32
d725fb-0f20-4550-9447-bd2000ec549e Timestamp: 2024-11-13
10:35:08Z","error_codes":[54005],"timestamp":"2024-11-13
10:35:08Z","trace_id":"2e19189a-c3df-4a34-9b59-63b5f27f7901","correlation_id":"32d725fb-0f20-4550-9447-bd2000ec549e"}
cas-1 | at
org.pac4j.oauth.credentials.authenticator.OAuthAuthenticator.validate(OAuthAuthenticator.java:50)
~[pac4j-oauth-6.0.6.jar!/:6.0.6]
cas-1 | at
org.pac4j.oauth.credentials.authenticator.OAuth20Authenticator.validate(OAuth20Authenticator.java:22)
~[pac4j-oauth-6.0.6.jar!/:6.0.6]
cas-1 | at
org.pac4j.core.client.BaseClient.internalValidateCredentials(BaseClient.java:113)
~[pac4j-core-6.0.6.jar!/:6.0.6]
cas-1 | at
org.pac4j.core.client.BaseClient.validateCredentials(BaseClient.java:95)
~[pac4j-core-6.0.6.jar!/:6.0.6]
cas-1 | at
org.apereo.cas.authentication.principal.DefaultDelegatedAuthenticationCredentialExtractor.lambda$getCredentialsFromDelegatedClient$1(DefaultDelegatedAuthenticationCredentialExtractor.java:51)
~[cas-server-support-pac4j-core-7.1.1.jar!/:7.1.1]
cas-1 | at java.base/java.util.Optional.map(Optional.java:260)
~[?:?]
cas-1 | at
org.apereo.cas.authentication.principal.DefaultDelegatedAuthenticationCredentialExtractor.lambda$getCredentialsFromDelegatedClient$2(DefaultDelegatedAuthenticationCredentialExtractor.java:51)
~[cas-server-support-pac4j-core-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.util.function.FunctionUtils.lambda$doAndHandle$12(FunctionUtils.java:425)
~[cas-server-core-util-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.authentication.principal.DefaultDelegatedAuthenticationCredentialExtractor.getCredentialsFromDelegatedClient(DefaultDelegatedAuthenticationCredentialExtractor.java:54)
~[cas-server-support-pac4j-core-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.authentication.principal.DefaultDelegatedAuthenticationCredentialExtractor.extract(DefaultDelegatedAuthenticationCredentialExtractor.java:30)
~[cas-server-support-pac4j-core-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction.lambda$populateContextWithClientCredential$8(DelegatedClientAuthenticationAction.java:266)
~[cas-server-support-pac4j-webflow-7.1.1.jar!/:7.1.1]
cas-1 | at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
~[?:?]
cas-1 | at
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
~[?:?]
cas-1 | at
java.base/java.util.AbstractList$RandomAccessSpliterator.tryAdvance(AbstractList.java:708)
~[?:?]
cas-1 | at
java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
~[?:?]
cas-1 | at
java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
~[?:?]
cas-1 | at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
~[?:?]
cas-1 | at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
~[?:?]
cas-1 | at
java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
~[?:?]
cas-1 | at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
~[?:?]
cas-1 | at
java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
~[?:?]
cas-1 | at
org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction.populateContextWithClientCredential(DelegatedClientAuthenticationAction.java:268)
~[cas-server-support-pac4j-webflow-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction.lambda$extractClientCredential$5(DelegatedClientAuthenticationAction.java:191)
~[cas-server-support-pac4j-webflow-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.util.function.FunctionUtils.lambda$doIfNotBlank$5(FunctionUtils.java:175)
~[cas-server-core-util-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.util.function.FunctionUtils.doAndHandle(FunctionUtils.java:391)
~[cas-server-core-util-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.util.function.FunctionUtils.doIfNotBlank(FunctionUtils.java:175)
~[cas-server-core-util-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction.extractClientCredential(DelegatedClientAuthenticationAction.java:182)
~[cas-server-support-pac4j-webflow-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction.doExecuteInternal(DelegatedClientAuthenticationAction.java:89)
~[cas-server-support-pac4j-webflow-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.web.flow.actions.BaseCasWebflowAction.doExecute(BaseCasWebflowAction.java:57)
~[cas-server-core-webflow-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.engine.State.enter(State.java:194)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.engine.Flow.start(Flow.java:527)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:139)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.apereo.cas.web.flow.executor.WebflowExecutorFactory$CasFlowExecutorImpl.launchExecution(WebflowExecutorFactory.java:95)
~[cas-server-core-webflow-api-7.1.1.jar!/:7.1.1]
cas-1 | at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
~[?:?]
cas-1 | at
java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
cas-1 | at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:102)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apereo.cas.monitor.ExecutableObserver.executeJoinPoint(ExecutableObserver.java:84)
~[cas-server-core-api-monitor-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.monitor.ExecutableObserver.observe(ExecutableObserver.java:65)
~[cas-server-core-api-monitor-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apereo.cas.config.CasWebflowMonitoringConfiguration$CasWebflowMonitoringAspect.aroundWebflowOperations(CasWebflowMonitoringConfiguration.java:59)
~[cas-server-core-webflow-7.1.1.jar!/:7.1.1]
cas-1 | at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
~[?:?]
cas-1 | at
java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
cas-1 | at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
~[spring-aop-6.1.12.jar!/:6.1.12]
cas-1 | at jdk.proxy2/jdk.proxy2.$Proxy151.launchExecution(Unknown
Source) ~[?:?]
cas-1 | at
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264)
~[spring-webflow-3.0.0.jar!/:3.0.0]
cas-1 | at
org.apereo.cas.web.flow.CasFlowHandlerAdapter.handle(CasFlowHandlerAdapter.java:39)
~[cas-server-core-webflow-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
~[spring-webmvc-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
~[spring-webmvc-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
~[spring-webmvc-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
~[spring-webmvc-6.1.12.jar!/:6.1.12]
cas-1 | at
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:633)
~[jakarta.servlet-api-6.1.0.jar!/:6.1.0]
cas-1 | at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
~[spring-webmvc-6.1.12.jar!/:6.1.12]
cas-1 | at
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)
~[jakarta.servlet-api-6.1.0.jar!/:6.1.0]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:393)
~[cas-server-core-web-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:188)
~[cas-server-core-web-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apereo.cas.web.support.filters.AddResponseHeadersFilter.doFilter(AddResponseHeadersFilter.java:62)
~[cas-server-core-web-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:75)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195)
~[spring-webmvc-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230)
~[spring-security-config-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:105)
~[cas-server-core-logging-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
~[spring-security-web-6.3.3.jar!/:6.3.3]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apereo.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:32)
~[cas-server-core-audit-api-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apereo.cas.config.CasEmbeddedContainerTomcatFiltersConfiguration$1.doFilter(CasEmbeddedContainerTomcatFiltersConfiguration.java:85)
~[cas-server-webapp-init-tomcat-7.1.1.jar!/:7.1.1]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
~[spring-web-6.1.12.jar!/:6.1.12]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:731)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
~[tomcat-embed-core-10.1.30.jar!/:?]
cas-1 | at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)
~[tomcat-embed-core-10.1.30.jar!/:10.1.30]
cas-1 | at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
~[tomcat-embed-core-10.1.30.jar!/:10.1.30]
cas-1 | at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)
~[tomcat-embed-core-10.1.30.jar!/:10.1.30]
cas-1 | at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
~[tomcat-embed-core-10.1.30.jar!/:10.1.30]
cas-1 | at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
~[tomcat-embed-core-10.1.30.jar!/:10.1.30]
cas-1 | at
java.base/java.lang.VirtualThread.run(VirtualThread.java:311) ~[?:?]
cas-1 | Caused by:
com.github.scribejava.core.model.OAuth2AccessTokenErrorResponse:
{"error":"invalid_grant","error_description":"AADSTS54005: OAuth2
Authorization code was already redeemed, please retry with a new valid code
or use an existing refresh token. Trace ID:
2e19189a-c3df-4a34-9b59-63b5f27f7901 Correlation ID:
32d725fb-0f20-4550-9447-bd2000ec549e
Timestamp: 2024-11-13
10:35:08Z","error_codes":[54005],"timestamp":"2024-11-13
10:35:08Z","trace_id":"2e19189a-c3df-4a34-9b59-63b5f27f7901","correlation_id":"32d725fb-0f20-4550-9447-bd2000ec549e"}
cas-1 | at
com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.generateError(OAuth2AccessTokenJsonExtractor.java:77)
~[scribejava-core-8.3.3.jar!/:?]
cas-1 | at
com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.extract(OAuth2AccessTokenJsonExtractor.java:37)
~[scribejava-core-8.3.3.jar!/:?]
cas-1 | at
com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.extract(OAuth2AccessTokenJsonExtractor.java:17)
~[scribejava-core-8.3.3.jar!/:?]
cas-1 | at
com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestSync(OAuth20Service.java:157)
~[scribejava-core-8.3.3.jar!/:?]
cas-1 | at
com.github.scribejava.core.oauth.OAuth20Service.getAccessToken(OAuth20Service.java:237)
~[scribejava-core-8.3.3.jar!/:?]
cas-1 | at
com.github.scribejava.core.oauth.OAuth20Service.getAccessToken(OAuth20Service.java:232)
~[scribejava-core-8.3.3.jar!/:?]
cas-1 | at
org.pac4j.oauth.credentials.authenticator.OAuth20Authenticator.retrieveAccessToken(OAuth20Authenticator.java:43)
~[pac4j-oauth-6.0.6.jar!/:6.0.6]
cas-1 | at
org.pac4j.oauth.credentials.authenticator.OAuthAuthenticator.validate(OAuthAuthenticator.java:48)
~[pac4j-oauth-6.0.6.jar!/:6.0.6]
cas-1 | ... 165 more
cas-1 | 2024-11-13 10:35:08,284 DEBUG
[org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction] -
<Single sign-on session in inactive for service [null]>
cas-1 | 2024-11-13 10:35:08,284 ERROR
[org.apereo.cas.web.flow.actions.DelegatedClientAuthenticationAction] -
<Client EntraID failed to validate credentials>
--
- Website: https://apereo.github.io/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/0b177ed6-4ee4-4c50-99e6-66fc42a4c408n%40apereo.org.