From 3c6df7df1f2b016262980a77296672bab4cc0147 Mon Sep 17 00:00:00 2001 From: Josh Cummings <3627351+jzheaux@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:15:49 -0600 Subject: [PATCH] Update to 7.2.0-SNAPSHOT --- .github/dependabot.yml | 51 + .github/workflows/update-antora-ui-spring.yml | 2 +- .../config/SecurityNamespaceHandler.java | 4 +- .../main/resources/META-INF/spring.schemas | 9 +- .../security/config/spring-security-7.2.rnc | 1361 ++++++ .../security/config/spring-security-7.2.xsd | 3849 +++++++++++++++++ .../config/SecurityNamespaceHandlerTests.java | 2 +- .../config/doc/XsdDocumentedTests.java | 6 +- ...ty.access.AccessDeniedException.serialized | Bin 0 -> 16714 bytes ...s.AuthorizationServiceException.serialized | Bin 0 -> 16794 bytes ....security.access.SecurityConfig.serialized | Bin 0 -> 109 bytes ...s.CycleInRoleHierarchyException.serialized | Bin 0 -> 11283 bytes ...access.intercept.RunAsUserToken.serialized | Bin 0 -> 1379 bytes ...ication.AccountExpiredException.serialized | Bin 0 -> 17023 bytes ...on.AnonymousAuthenticationToken.serialized | Bin 0 -> 787 bytes ...ionCredentialsNotFoundException.serialized | Bin 0 -> 16961 bytes ....AuthenticationServiceException.serialized | Bin 0 -> 16950 bytes ...ication.BadCredentialsException.serialized | Bin 0 -> 16943 bytes ...ion.CredentialsExpiredException.serialized | Bin 0 -> 17028 bytes ...uthentication.DisabledException.serialized | Bin 0 -> 17018 bytes ...fficientAuthenticationException.serialized | Bin 0 -> 16955 bytes ...lAuthenticationServiceException.serialized | Bin 0 -> 17047 bytes ....authentication.LockedException.serialized | Bin 0 -> 17016 bytes ...ation.ProviderNotFoundException.serialized | Bin 0 -> 11398 bytes ...n.RememberMeAuthenticationToken.serialized | Bin 0 -> 1200 bytes ...tion.TestingAuthenticationToken.serialized | Bin 0 -> 534 bytes ...namePasswordAuthenticationToken.serialized | Bin 0 -> 1118 bytes ...ationFailureBadCredentialsEvent.serialized | Bin 0 -> 11885 bytes ...nFailureCredentialsExpiredEvent.serialized | Bin 0 -> 11974 bytes ...henticationFailureDisabledEvent.serialized | Bin 0 -> 11954 bytes ...thenticationFailureExpiredEvent.serialized | Bin 0 -> 11959 bytes ...uthenticationFailureLockedEvent.serialized | Bin 0 -> 11950 bytes ...ionFailureProviderNotFoundEvent.serialized | Bin 0 -> 11889 bytes ...ationFailureProxyUntrustedEvent.serialized | Bin 0 -> 11892 bytes ...ionFailureServiceExceptionEvent.serialized | Bin 0 -> 11894 bytes ...vent.AuthenticationSuccessEvent.serialized | Bin 0 -> 304 bytes ...ctiveAuthenticationSuccessEvent.serialized | Bin 0 -> 434 bytes ...cation.event.LogoutSuccessEvent.serialized | Bin 0 -> 296 bytes ...on.jaas.JaasAuthenticationToken.serialized | Bin 0 -> 1205 bytes ...ation.jaas.JaasGrantedAuthority.serialized | Bin 0 -> 169 bytes ...t.JaasAuthenticationFailedEvent.serialized | Bin 0 -> 11511 bytes ....JaasAuthenticationSuccessEvent.serialized | Bin 0 -> 314 bytes ...ication.ott.DefaultOneTimeToken.serialized | Bin 0 -> 258 bytes ...tt.InvalidOneTimeTokenException.serialized | Bin 0 -> 11405 bytes ....ott.OneTimeTokenAuthentication.serialized | Bin 0 -> 775 bytes ...OneTimeTokenAuthenticationToken.serialized | Bin 0 -> 699 bytes ...rd.CompromisedPasswordException.serialized | Bin 0 -> 16957 bytes ....AuthorityAuthorizationDecision.serialized | Bin 0 -> 400 bytes ...orization.AuthorizationDecision.serialized | Bin 0 -> 96 bytes ...on.AuthorizationDeniedException.serialized | Bin 0 -> 11492 bytes ...ion.FactorAuthorizationDecision.serialized | Bin 0 -> 906 bytes ...ty.authorization.RequiredFactor.serialized | Bin 0 -> 208 bytes ...thorization.RequiredFactorError.serialized | Bin 0 -> 574 bytes ...zation.event.AuthorizationEvent.serialized | Bin 0 -> 1581 bytes ...event.AuthorizationGrantedEvent.serialized | Bin 0 -> 1670 bytes ...CasAssertionAuthenticationToken.serialized | Bin 0 -> 1454 bytes ...tication.CasAuthenticationToken.serialized | Bin 0 -> 2094 bytes ...erviceTicketAuthenticationToken.serialized | Bin 0 -> 552 bytes ...nnotation.AlreadyBuiltException.serialized | Bin 0 -> 11251 bytes ...uthority.FactorGrantedAuthority.serialized | Bin 0 -> 214 bytes ...uthority.SimpleGrantedAuthority.serialized | Bin 0 -> 124 bytes ...ore.context.SecurityContextImpl.serialized | Bin 0 -> 153 bytes ...ontext.TransientSecurityContext.serialized | Bin 0 -> 1294 bytes ...re.session.AbstractSessionEvent.serialized | Bin 0 -> 198 bytes ...sion.ReactiveSessionInformation.serialized | Bin 0 -> 867 bytes ...core.session.SessionInformation.serialized | Bin 0 -> 849 bytes ...etails.User$AuthorityComparator.serialized | Bin 0 -> 91 bytes ....security.core.userdetails.User.serialized | Bin 0 -> 294 bytes ...tails.UsernameNotFoundException.serialized | Bin 0 -> 16967 bytes ...p.ppolicy.PasswordPolicyControl.serialized | Bin 0 -> 96 bytes ...ppolicy.PasswordPolicyException.serialized | Bin 0 -> 11513 bytes ...y.PasswordPolicyResponseControl.serialized | Bin 0 -> 517 bytes ....ldap.userdetails.InetOrgPerson.serialized | Bin 0 -> 1184 bytes ....ldap.userdetails.LdapAuthority.serialized | Bin 0 -> 265 bytes ...userdetails.LdapUserDetailsImpl.serialized | Bin 0 -> 400 bytes ...ecurity.ldap.userdetails.Person.serialized | Bin 0 -> 631 bytes ...nt.ClientAuthorizationException.serialized | Bin 0 -> 17124 bytes ...tAuthorizationRequiredException.serialized | Bin 0 -> 11810 bytes ...2.client.OAuth2AuthorizedClient.serialized | Bin 0 -> 3458 bytes ...client.OAuth2AuthorizedClientId.serialized | Bin 0 -> 171 bytes ...ation.OAuth2AuthenticationToken.serialized | Bin 0 -> 1657 bytes ...rizationCodeAuthenticationToken.serialized | Bin 0 -> 5546 bytes ....OAuth2LoginAuthenticationToken.serialized | Bin 0 -> 5628 bytes ...2AuthorizedClientRefreshedEvent.serialized | Bin 0 -> 3632 bytes ...on.event.OidcUserRefreshedEvent.serialized | Bin 0 -> 3770 bytes ...tication.logout.OidcLogoutToken.serialized | Bin 0 -> 895 bytes ....session.OidcSessionInformation.serialized | Bin 0 -> 2430 bytes ...tion.ClientRegistration$Builder.serialized | Bin 0 -> 1845 bytes ...ientRegistration$ClientSettings.serialized | Bin 0 -> 129 bytes ...registration.ClientRegistration.serialized | Bin 0 -> 2471 bytes ...auth2.core.AuthenticationMethod.serialized | Bin 0 -> 118 bytes ...th2.core.AuthorizationGrantType.serialized | Bin 0 -> 126 bytes ...core.ClientAuthenticationMethod.serialized | Bin 0 -> 126 bytes ...ultOAuth2AuthenticatedPrincipal.serialized | Bin 0 -> 1225 bytes ...ore.OAuth2AccessToken$TokenType.serialized | Bin 0 -> 127 bytes ...y.oauth2.core.OAuth2AccessToken.serialized | Bin 0 -> 733 bytes ...e.OAuth2AuthenticationException.serialized | Bin 0 -> 17156 bytes ...re.OAuth2AuthorizationException.serialized | Bin 0 -> 17005 bytes ...ty.oauth2.core.OAuth2DeviceCode.serialized | Bin 0 -> 313 bytes ...ecurity.oauth2.core.OAuth2Error.serialized | Bin 0 -> 158 bytes ....oauth2.core.OAuth2RefreshToken.serialized | Bin 0 -> 322 bytes ...rity.oauth2.core.OAuth2UserCode.serialized | Bin 0 -> 311 bytes ...int.OAuth2AuthorizationExchange.serialized | Bin 0 -> 2008 bytes ...oint.OAuth2AuthorizationRequest.serialized | Bin 0 -> 1469 bytes ...int.OAuth2AuthorizationResponse.serialized | Bin 0 -> 460 bytes ...OAuth2AuthorizationResponseType.serialized | Bin 0 -> 137 bytes ...ty.oauth2.core.oidc.OidcIdToken.serialized | Bin 0 -> 682 bytes ...y.oauth2.core.oidc.OidcUserInfo.serialized | Bin 0 -> 328 bytes ....core.oidc.user.DefaultOidcUser.serialized | Bin 0 -> 2051 bytes ...ore.oidc.user.OidcUserAuthority.serialized | Bin 0 -> 1313 bytes ...th2.core.user.DefaultOAuth2User.serialized | Bin 0 -> 968 bytes ...2.core.user.OAuth2UserAuthority.serialized | Bin 0 -> 416 bytes ...rity.oauth2.jwt.BadJwtException.serialized | Bin 0 -> 16771 bytes ...amework.security.oauth2.jwt.Jwt.serialized | Bin 0 -> 831 bytes ...tDecoderInitializationException.serialized | Bin 0 -> 16724 bytes ...oauth2.jwt.JwtEncodingException.serialized | Bin 0 -> 16778 bytes ...ecurity.oauth2.jwt.JwtException.serialized | Bin 0 -> 16703 bytes ...uth2.jwt.JwtValidationException.serialized | Bin 0 -> 11611 bytes ...ation.OAuth2Authorization$Token.serialized | Bin 0 -> 1341 bytes ...thorization.OAuth2Authorization.serialized | Bin 0 -> 4079 bytes ...ization.OAuth2AuthorizationCode.serialized | Bin 0 -> 335 bytes ...tion.OAuth2AuthorizationConsent.serialized | Bin 0 -> 558 bytes ...uth2AuthorizationServerMetadata.serialized | Bin 0 -> 664 bytes ...zation.OAuth2ClientRegistration.serialized | Bin 0 -> 601 bytes ...zation.OAuth2TokenIntrospection.serialized | Bin 0 -> 398 bytes ...r.authorization.OAuth2TokenType.serialized | Bin 0 -> 137 bytes ...2AccessTokenAuthenticationToken.serialized | Bin 0 -> 4786 bytes ...rizationCodeAuthenticationToken.serialized | Bin 0 -> 1853 bytes ...eRequestAuthenticationException.serialized | Bin 0 -> 13705 bytes ...nCodeRequestAuthenticationToken.serialized | Bin 0 -> 2226 bytes ...ationConsentAuthenticationToken.serialized | Bin 0 -> 1650 bytes ...izationGrantAuthenticationToken.serialized | Bin 0 -> 1808 bytes ...OAuth2ClientAuthenticationToken.serialized | Bin 0 -> 3619 bytes ...tCredentialsAuthenticationToken.serialized | Bin 0 -> 1938 bytes ...RegistrationAuthenticationToken.serialized | Bin 0 -> 1936 bytes ...ationConsentAuthenticationToken.serialized | Bin 0 -> 1915 bytes ...ationRequestAuthenticationToken.serialized | Bin 0 -> 2143 bytes ...h2DeviceCodeAuthenticationToken.serialized | Bin 0 -> 1837 bytes ...VerificationAuthenticationToken.serialized | Bin 0 -> 1467 bytes ...ationRequestAuthenticationToken.serialized | Bin 0 -> 1906 bytes ...RefreshTokenAuthenticationToken.serialized | Bin 0 -> 1964 bytes ...cation.OAuth2TokenExchangeActor.serialized | Bin 0 -> 315 bytes ...okenExchangeAuthenticationToken.serialized | Bin 0 -> 2354 bytes ...ngeCompositeAuthenticationToken.serialized | Bin 0 -> 1803 bytes ...ntrospectionAuthenticationToken.serialized | Bin 0 -> 1826 bytes ...enRevocationAuthenticationToken.serialized | Bin 0 -> 1293 bytes ...ization.client.RegisteredClient.serialized | Bin 0 -> 2736 bytes ...ion.oidc.OidcClientRegistration.serialized | Bin 0 -> 604 bytes ....oidc.OidcProviderConfiguration.serialized | Bin 0 -> 818 bytes ...RegistrationAuthenticationToken.serialized | Bin 0 -> 1972 bytes ...n.OidcLogoutAuthenticationToken.serialized | Bin 0 -> 1942 bytes ...OidcUserInfoAuthenticationToken.serialized | Bin 0 -> 1623 bytes ...ngs.AuthorizationServerSettings.serialized | Bin 0 -> 1413 bytes ...ization.settings.ClientSettings.serialized | Bin 0 -> 502 bytes ...tion.settings.OAuth2TokenFormat.serialized | Bin 0 -> 150 bytes ...rization.settings.TokenSettings.serialized | Bin 0 -> 1145 bytes ...erver.resource.BearerTokenError.serialized | Bin 0 -> 476 bytes ...rce.InvalidBearerTokenException.serialized | Bin 0 -> 17543 bytes ...OAuth2ProtectedResourceMetadata.serialized | Bin 0 -> 687 bytes ...ation.BearerTokenAuthentication.serialized | Bin 0 -> 3022 bytes ....BearerTokenAuthenticationToken.serialized | Bin 0 -> 684 bytes ...ication.DPoPAuthenticationToken.serialized | Bin 0 -> 756 bytes ...tication.JwtAuthenticationToken.serialized | Bin 0 -> 1554 bytes ...pection.BadOpaqueTokenException.serialized | Bin 0 -> 16849 bytes ...ospectionAuthenticatedPrincipal.serialized | Bin 0 -> 1434 bytes ...on.OAuth2IntrospectionException.serialized | Bin 0 -> 16745 bytes ...curity.provisioning.MutableUser.serialized | Bin 0 -> 186 bytes ...k.security.saml2.Saml2Exception.serialized | Bin 0 -> 16741 bytes ....security.saml2.core.Saml2Error.serialized | Bin 0 -> 138 bytes ....saml2.core.Saml2X509Credential.serialized | Bin 0 -> 1623 bytes ...aultSaml2AuthenticatedPrincipal.serialized | Bin 0 -> 357 bytes ...on.Saml2AssertionAuthentication.serialized | Bin 0 -> 1386 bytes ...hentication.Saml2Authentication.serialized | Bin 0 -> 1131 bytes ...on.Saml2AuthenticationException.serialized | Bin 0 -> 17200 bytes ...cation.Saml2AuthenticationToken.serialized | Bin 0 -> 6302 bytes ....Saml2PostAuthenticationRequest.serialized | Bin 0 -> 417 bytes ...l2RedirectAuthenticationRequest.serialized | Bin 0 -> 473 bytes ...tication.Saml2ResponseAssertion.serialized | Bin 0 -> 350 bytes ...ation.logout.Saml2LogoutRequest.serialized | Bin 0 -> 736 bytes ...n.OpenSamlAssertingPartyDetails.serialized | Bin 0 -> 2257 bytes ...istration$AssertingPartyDetails.serialized | Bin 0 -> 2621 bytes ...ration.RelyingPartyRegistration.serialized | Bin 0 -> 5855 bytes ...UnreachableFilterChainException.serialized | Bin 0 -> 759 bytes ...cation.WebAuthenticationDetails.serialized | Bin 0 -> 172 bytes ...uthenticatedAuthenticationToken.serialized | Bin 0 -> 1231 bytes ...tedCredentialsNotFoundException.serialized | Bin 0 -> 17018 bytes ...oritiesWebAuthenticationDetails.serialized | Bin 0 -> 377 bytes ...rememberme.CookieTheftException.serialized | Bin 0 -> 11517 bytes ...memberme.InvalidCookieException.serialized | Bin 0 -> 11519 bytes ...memberMeAuthenticationException.serialized | Bin 0 -> 17010 bytes ....SessionAuthenticationException.serialized | Bin 0 -> 11417 bytes ....SessionFixationProtectionEvent.serialized | Bin 0 -> 382 bytes ...r.AuthenticationSwitchUserEvent.serialized | Bin 0 -> 1016 bytes ...user.SwitchUserGrantedAuthority.serialized | Bin 0 -> 209 bytes ...ation.www.NonceExpiredException.serialized | Bin 0 -> 16991 bytes ...security.web.csrf.CsrfException.serialized | Bin 0 -> 11261 bytes ...urity.web.csrf.DefaultCsrfToken.serialized | Bin 0 -> 172 bytes ....csrf.InvalidCsrfTokenException.serialized | Bin 0 -> 11425 bytes ....csrf.MissingCsrfTokenException.serialized | Bin 0 -> 11411 bytes ...rewall.RequestRejectedException.serialized | Bin 0 -> 11204 bytes ...avedrequest.DefaultSavedRequest.serialized | Bin 0 -> 1951 bytes ...ty.web.savedrequest.SavedCookie.serialized | Bin 0 -> 212 bytes ...savedrequest.SimpleSavedRequest.serialized | Bin 0 -> 1008 bytes ...y.web.server.csrf.CsrfException.serialized | Bin 0 -> 11268 bytes ...eb.server.csrf.DefaultCsrfToken.serialized | Bin 0 -> 179 bytes ...ServerExchangeRejectedException.serialized | Bin 0 -> 11218 bytes ...session.HttpSessionCreatedEvent.serialized | Bin 0 -> 354 bytes ...ssion.HttpSessionIdChangedEvent.serialized | Bin 0 -> 421 bytes ...AttestationConveyancePreference.serialized | Bin 0 -> 136 bytes ....AuthenticatorAssertionResponse.serialized | Bin 0 -> 785 bytes ...thn.api.AuthenticatorAttachment.serialized | Bin 0 -> 130 bytes ...uthenticatorAttestationResponse.serialized | Bin 0 -> 1056 bytes ....AuthenticatorSelectionCriteria.serialized | Bin 0 -> 724 bytes ...uthn.api.AuthenticatorTransport.serialized | Bin 0 -> 124 bytes ...security.web.webauthn.api.Bytes.serialized | Bin 0 -> 140 bytes ...thn.api.COSEAlgorithmIdentifier.serialized | Bin 0 -> 106 bytes ...tensionsClientInput$CredProtect.serialized | Bin 0 -> 507 bytes ...enticationExtensionsClientInput.serialized | Bin 0 -> 733 bytes ...ropertiesOutput$ExtensionOutput.serialized | Bin 0 -> 115 bytes ....api.CredentialPropertiesOutput.serialized | Bin 0 -> 306 bytes ...enticationExtensionsClientInput.serialized | Bin 0 -> 230 bytes ...nticationExtensionsClientInputs.serialized | Bin 0 -> 540 bytes ...ticationExtensionsClientOutputs.serialized | Bin 0 -> 619 bytes ...lePublicKeyCredentialUserEntity.serialized | Bin 0 -> 361 bytes ...ebauthn.api.PublicKeyCredential.serialized | Bin 0 -> 2292 bytes ...licKeyCredentialCreationOptions.serialized | Bin 0 -> 3570 bytes ...i.PublicKeyCredentialDescriptor.serialized | Bin 0 -> 688 bytes ...i.PublicKeyCredentialParameters.serialized | Bin 0 -> 487 bytes ...blicKeyCredentialRequestOptions.serialized | Bin 0 -> 1833 bytes ...api.PublicKeyCredentialRpEntity.serialized | Bin 0 -> 184 bytes ...thn.api.PublicKeyCredentialType.serialized | Bin 0 -> 132 bytes ...uthn.api.ResidentKeyRequirement.serialized | Bin 0 -> 129 bytes ...api.UserVerificationRequirement.serialized | Bin 0 -> 134 bytes ...tication.WebAuthnAuthentication.serialized | Bin 0 -> 1185 bytes ...AuthnAuthenticationRequestToken.serialized | Bin 0 -> 4105 bytes ...lyingPartyAuthenticationRequest.serialized | Bin 0 -> 3410 bytes .../servlet/appendix/namespace/index.adoc | 2 +- docs/modules/ROOT/pages/whats-new.adoc | 22 +- git/hooks/prepare-forward-merge | 2 +- gradle.properties | 4 +- .../src/main/resources/META-INF/security.tld | 2 +- 241 files changed, 5280 insertions(+), 36 deletions(-) create mode 100644 config/src/main/resources/org/springframework/security/config/spring-security-7.2.rnc create mode 100644 config/src/main/resources/org/springframework/security/config/spring-security-7.2.xsd create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.access.AccessDeniedException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.access.AuthorizationServiceException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.access.SecurityConfig.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.access.hierarchicalroles.CycleInRoleHierarchyException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.access.intercept.RunAsUserToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AccountExpiredException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AnonymousAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AuthenticationCredentialsNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AuthenticationServiceException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.BadCredentialsException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.CredentialsExpiredException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.DisabledException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.InsufficientAuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.InternalAuthenticationServiceException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.LockedException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ProviderNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.RememberMeAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.TestingAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.UsernamePasswordAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureCredentialsExpiredEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureDisabledEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureExpiredEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureLockedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureProviderNotFoundEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureProxyUntrustedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureServiceExceptionEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationSuccessEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.LogoutSuccessEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.JaasAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.JaasGrantedAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.event.JaasAuthenticationFailedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.event.JaasAuthenticationSuccessEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.DefaultOneTimeToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.InvalidOneTimeTokenException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.OneTimeTokenAuthentication.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.OneTimeTokenAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.password.CompromisedPasswordException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorityAuthorizationDecision.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorizationDecision.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorizationDeniedException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.FactorAuthorizationDecision.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.RequiredFactor.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.RequiredFactorError.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.event.AuthorizationEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.event.AuthorizationGrantedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.cas.authentication.CasAssertionAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.cas.authentication.CasAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.cas.authentication.CasServiceTicketAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.config.annotation.AlreadyBuiltException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.authority.FactorGrantedAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.authority.SimpleGrantedAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.context.SecurityContextImpl.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.context.TransientSecurityContext.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.AbstractSessionEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.ReactiveSessionInformation.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.SessionInformation.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.User$AuthorityComparator.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.User.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.UsernameNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyControl.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyResponseControl.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.InetOrgPerson.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.LdapAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.LdapUserDetailsImpl.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.Person.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.ClientAuthorizationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.ClientAuthorizationRequiredException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClient.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClientId.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.event.OAuth2AuthorizedClientRefreshedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.authentication.event.OidcUserRefreshedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.authentication.logout.OidcLogoutToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.session.OidcSessionInformation.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration$Builder.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration$ClientSettings.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.AuthenticationMethod.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.AuthorizationGrantType.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.ClientAuthenticationMethod.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.DefaultOAuth2AuthenticatedPrincipal.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AccessToken$TokenType.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AccessToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AuthorizationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2DeviceCode.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2Error.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2RefreshToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2UserCode.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationExchange.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationResponse.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationResponseType.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.OidcIdToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.OidcUserInfo.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.user.DefaultOAuth2User.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.user.OAuth2UserAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.BadJwtException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.Jwt.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtDecoderInitializationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtEncodingException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtValidationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2Authorization$Token.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2Authorization.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationCode.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationConsent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationServerMetadata.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2ClientRegistration.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2TokenIntrospection.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2TokenType.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AccessTokenAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeRequestAuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeRequestAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationConsentAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationGrantAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientCredentialsAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientRegistrationAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceAuthorizationConsentAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceAuthorizationRequestAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceCodeAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceVerificationAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2PushedAuthorizationRequestAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2RefreshTokenAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeActor.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeCompositeAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenIntrospectionAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenRevocationAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.client.RegisteredClient.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.OidcClientRegistration.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.OidcProviderConfiguration.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcClientRegistrationAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcLogoutAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcUserInfoAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.settings.ClientSettings.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.settings.TokenSettings.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.BearerTokenError.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.InvalidBearerTokenException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.OAuth2ProtectedResourceMetadata.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthentication.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.authentication.DPoPAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionAuthenticatedPrincipal.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.provisioning.MutableUser.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.Saml2Exception.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.core.Saml2Error.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.core.Saml2X509Credential.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.DefaultSaml2AuthenticatedPrincipal.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AssertionAuthentication.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2Authentication.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2PostAuthenticationRequest.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2RedirectAuthenticationRequest.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2ResponseAssertion.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.logout.Saml2LogoutRequest.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.OpenSamlAssertingPartyDetails.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration$AssertingPartyDetails.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.UnreachableFilterChainException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.WebAuthenticationDetails.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.preauth.PreAuthenticatedCredentialsNotFoundException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.preauth.PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.CookieTheftException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.InvalidCookieException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.session.SessionAuthenticationException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.session.SessionFixationProtectionEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.switchuser.AuthenticationSwitchUserEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.switchuser.SwitchUserGrantedAuthority.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.www.NonceExpiredException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.CsrfException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.DefaultCsrfToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.InvalidCsrfTokenException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.MissingCsrfTokenException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.firewall.RequestRejectedException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.savedrequest.DefaultSavedRequest.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.savedrequest.SavedCookie.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.savedrequest.SimpleSavedRequest.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.csrf.CsrfException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.csrf.DefaultCsrfToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.firewall.ServerExchangeRejectedException.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.session.HttpSessionCreatedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.session.HttpSessionIdChangedEvent.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AttestationConveyancePreference.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAssertionResponse.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAttachment.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAttestationResponse.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorSelectionCriteria.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorTransport.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.Bytes.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.COSEAlgorithmIdentifier.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredProtectAuthenticationExtensionsClientInput$CredProtect.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredProtectAuthenticationExtensionsClientInput.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredentialPropertiesOutput$ExtensionOutput.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredentialPropertiesOutput.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ImmutableAuthenticationExtensionsClientInput.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ImmutableAuthenticationExtensionsClientInputs.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ImmutableAuthenticationExtensionsClientOutputs.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ImmutablePublicKeyCredentialUserEntity.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredential.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialCreationOptions.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialDescriptor.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialParameters.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialRequestOptions.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialRpEntity.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialType.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ResidentKeyRequirement.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.UserVerificationRequirement.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.authentication.WebAuthnAuthentication.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.authentication.WebAuthnAuthenticationRequestToken.serialized create mode 100644 config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.management.RelyingPartyAuthenticationRequest.serialized diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d61041abfc..33ed7b6112 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -103,6 +103,57 @@ updates: - 'type: dependency-upgrade' - 'in: build' + # 7.1.x + - package-ecosystem: gradle + target-branch: 7.1.x + directory: / + schedule: + interval: daily + time: '03:00' + timezone: Etc/UTC + labels: + - 'type: dependency-upgrade' + - 'in: build' + registries: + - shibboleth + ignore: + - dependency-name: com.nimbusds:nimbus-jose-jwt + - dependency-name: org.python:jython + - dependency-name: org.apache.directory.server:* + - dependency-name: org.apache.directory.shared:* + - dependency-name: org.junit:junit-bom + update-types: + - version-update:semver-major + - dependency-name: org.mockito:mockito-bom + update-types: + - version-update:semver-major + - dependency-name: com.gradle.enterprise + update-types: + - version-update:semver-major + - version-update:semver-minor + - dependency-name: '*' + update-types: + - version-update:semver-major + - version-update:semver-minor + - package-ecosystem: npm + target-branch: 7.1.x + directory: /docs + schedule: + interval: weekly + labels: + - 'type: task' + - 'type: dependency-upgrade' + - 'in: build' + - package-ecosystem: github-actions + target-branch: 7.1.x + directory: / + schedule: + interval: weekly + labels: + - 'type: task' + - 'type: dependency-upgrade' + - 'in: build' + # main - package-ecosystem: gradle target-branch: main diff --git a/.github/workflows/update-antora-ui-spring.yml b/.github/workflows/update-antora-ui-spring.yml index d6006b8e81..d3bd2fc0da 100644 --- a/.github/workflows/update-antora-ui-spring.yml +++ b/.github/workflows/update-antora-ui-spring.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - branch: [ '6.5.x', '7.0.x', 'main' ] + branch: [ '6.5.x', '7.0.x', '7.1.x', 'main' ] steps: - uses: spring-io/spring-doc-actions/update-antora-spring-ui@415e2b11a766ba64799fffb5c97a4f7e17f677cf # v0.0.22 name: Update diff --git a/config/src/main/java/org/springframework/security/config/SecurityNamespaceHandler.java b/config/src/main/java/org/springframework/security/config/SecurityNamespaceHandler.java index 18eed21136..be1c02fa76 100644 --- a/config/src/main/java/org/springframework/security/config/SecurityNamespaceHandler.java +++ b/config/src/main/java/org/springframework/security/config/SecurityNamespaceHandler.java @@ -94,7 +94,7 @@ public final class SecurityNamespaceHandler implements NamespaceHandler { public BeanDefinition parse(Element element, ParserContext pc) { if (!namespaceMatchesVersion(element)) { pc.getReaderContext() - .fatal("You cannot use any XSD older than spring-security-7.1.xsd. Either change to spring-security.xsd or spring-security-7.1.xsd", + .fatal("You cannot use any XSD older than spring-security-7.2.xsd. Either change to spring-security.xsd or spring-security-7.2.xsd", element); } String name = pc.getDelegate().getLocalName(element); @@ -219,7 +219,7 @@ public final class SecurityNamespaceHandler implements NamespaceHandler { private boolean matchesVersionInternal(Element element) { String schemaLocation = element.getAttributeNS("http://www.w3.org/2001/XMLSchema-instance", "schemaLocation"); - return schemaLocation.matches("(?m).*spring-security-7\\.1.*.xsd.*") + return schemaLocation.matches("(?m).*spring-security-7\\.2.*.xsd.*") || schemaLocation.matches("(?m).*spring-security.xsd.*") || !schemaLocation.matches("(?m).*spring-security.*"); } diff --git a/config/src/main/resources/META-INF/spring.schemas b/config/src/main/resources/META-INF/spring.schemas index 28ce2e429e..228cf92f3f 100644 --- a/config/src/main/resources/META-INF/spring.schemas +++ b/config/src/main/resources/META-INF/spring.schemas @@ -14,9 +14,9 @@ # limitations under the License. # -http\://www.springframework.org/schema/security/spring-security.xsd=org/springframework/security/config/spring-security-7.1.xsd -http\://www.springframework.org/schema/security/spring-security-7.0.xsd=org/springframework/security/config/spring-security-7.1.xsd -http\://www.springframework.org/schema/security/spring-security.xsd=org/springframework/security/config/spring-security-7.0.xsd +http\://www.springframework.org/schema/security/spring-security.xsd=org/springframework/security/config/spring-security-7.2.xsd +http\://www.springframework.org/schema/security/spring-security-7.2.xsd=org/springframework/security/config/spring-security-7.2.xsd +http\://www.springframework.org/schema/security/spring-security-7.1.xsd=org/springframework/security/config/spring-security-7.1.xsd http\://www.springframework.org/schema/security/spring-security-7.0.xsd=org/springframework/security/config/spring-security-7.0.xsd http\://www.springframework.org/schema/security/spring-security-6.5.xsd=org/springframework/security/config/spring-security-6.5.xsd http\://www.springframework.org/schema/security/spring-security-6.4.xsd=org/springframework/security/config/spring-security-6.4.xsd @@ -44,7 +44,8 @@ http\://www.springframework.org/schema/security/spring-security-2.0.xsd=org/spri http\://www.springframework.org/schema/security/spring-security-2.0.1.xsd=org/springframework/security/config/spring-security-2.0.1.xsd http\://www.springframework.org/schema/security/spring-security-2.0.2.xsd=org/springframework/security/config/spring-security-2.0.2.xsd http\://www.springframework.org/schema/security/spring-security-2.0.4.xsd=org/springframework/security/config/spring-security-2.0.4.xsd -https\://www.springframework.org/schema/security/spring-security.xsd=org/springframework/security/config/spring-security-7.1.xsd +https\://www.springframework.org/schema/security/spring-security.xsd=org/springframework/security/config/spring-security-7.2.xsd +https\://www.springframework.org/schema/security/spring-security-7.2.xsd=org/springframework/security/config/spring-security-7.2.xsd https\://www.springframework.org/schema/security/spring-security-7.1.xsd=org/springframework/security/config/spring-security-7.1.xsd https\://www.springframework.org/schema/security/spring-security-7.0.xsd=org/springframework/security/config/spring-security-7.0.xsd https\://www.springframework.org/schema/security/spring-security-6.5.xsd=org/springframework/security/config/spring-security-6.5.xsd diff --git a/config/src/main/resources/org/springframework/security/config/spring-security-7.2.rnc b/config/src/main/resources/org/springframework/security/config/spring-security-7.2.rnc new file mode 100644 index 0000000000..3e15354261 --- /dev/null +++ b/config/src/main/resources/org/springframework/security/config/spring-security-7.2.rnc @@ -0,0 +1,1361 @@ +namespace a = "https://relaxng.org/ns/compatibility/annotations/1.0" +datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" + +default namespace = "http://www.springframework.org/schema/security" + +start = http | ldap-server | authentication-provider | ldap-authentication-provider | any-user-service | ldap-server | ldap-authentication-provider + +hash = + ## Defines the hashing algorithm used on user passwords. Bcrypt is recommended. + attribute hash {"bcrypt"} +base64 = + ## Whether a string should be base64 encoded + attribute base64 {xsd:boolean} +request-matcher = + ## Defines the strategy use for matching incoming requests. Currently the options are 'mvc' (for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions and 'ciRegex' for case-insensitive regular expressions. + attribute request-matcher {"mvc" | "ant" | "regex" | "ciRegex"} +port = + ## Specifies an IP port number. Used to configure an embedded LDAP server, for example. + attribute port { xsd:nonNegativeInteger } +url = + ## Specifies a URL. + attribute url { xsd:token } +id = + ## A bean identifier, used for referring to the bean elsewhere in the context. + attribute id {xsd:token} +name = + ## A bean identifier, used for referring to the bean elsewhere in the context. + attribute name {xsd:token} +ref = + ## Defines a reference to a Spring bean Id. + attribute ref {xsd:token} + +cache-ref = + ## Defines a reference to a cache for use with a UserDetailsService. + attribute cache-ref {xsd:token} + +user-service-ref = + ## A reference to a user-service (or UserDetailsService bean) Id + attribute user-service-ref {xsd:token} + +authentication-manager-ref = + ## A reference to an AuthenticationManager bean + attribute authentication-manager-ref {xsd:token} + +data-source-ref = + ## A reference to a DataSource bean + attribute data-source-ref {xsd:token} + + + +debug = + ## Enables Spring Security debugging infrastructure. This will provide human-readable (multi-line) debugging information to monitor requests coming into the security filters. This may include sensitive information, such as request parameters or headers, and should only be used in a development environment. + element debug {empty} + +password-encoder = + ## element which defines a password encoding strategy. Used by an authentication provider to convert submitted passwords to hashed versions, for example. + element password-encoder {password-encoder.attlist} +password-encoder.attlist &= + ref | (hash) + +role-prefix = + ## A non-empty string prefix that will be added to role strings loaded from persistent storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is non-empty. + attribute role-prefix {xsd:token} + +use-expressions = + ## Enables the use of expressions in the 'access' attributes in elements rather than the traditional list of configuration attributes. Defaults to 'true'. If enabled, each attribute should contain a single boolean expression. If the expression evaluates to 'true', access will be granted. + attribute use-expressions {xsd:boolean} + +ldap-server = + ## Defines an LDAP server location or starts an embedded server. The url indicates the location of a remote server. If no url is given, an embedded server will be started, listening on the supplied port number. The port is optional and defaults to 33389. A Spring LDAP ContextSource bean will be registered for the server with the id supplied. + element ldap-server {ldap-server.attlist} +ldap-server.attlist &= id? +ldap-server.attlist &= (url | port)? +ldap-server.attlist &= + ## Username (DN) of the "manager" user identity which will be used to authenticate to a (non-embedded) LDAP server. If omitted, anonymous access will be used. + attribute manager-dn {xsd:string}? +ldap-server.attlist &= + ## The password for the manager DN. This is required if the manager-dn is specified. + attribute manager-password {xsd:string}? +ldap-server.attlist &= + ## Explicitly specifies an ldif file resource to load into an embedded LDAP server. The default is classpath*:*.ldiff + attribute ldif { xsd:string }? +ldap-server.attlist &= + ## Optional root suffix for the embedded LDAP server. Default is "dc=springframework,dc=org" + attribute root { xsd:string }? +ldap-server.attlist &= + ## Explicitly specifies which embedded ldap server should use. The only supported value is 'unboundid'. By default, it will depends if the library is available in the classpath. + attribute mode { "unboundid" }? + +ldap-server-ref-attribute = + ## The optional server to use. If omitted, and a default LDAP server is registered (using with no Id), that server will be used. + attribute server-ref {xsd:token} + + +group-search-filter-attribute = + ## Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN of the user. + attribute group-search-filter {xsd:token} +group-search-base-attribute = + ## Search base for group membership searches. Defaults to "" (searching from the root). + attribute group-search-base {xsd:token} +user-search-filter-attribute = + ## The LDAP filter used to search for users (optional). For example "(uid={0})". The substituted parameter is the user's login name. + attribute user-search-filter {xsd:token} +user-search-base-attribute = + ## Search base for user searches. Defaults to "". Only used with a 'user-search-filter'. + attribute user-search-base {xsd:token} +group-role-attribute-attribute = + ## The LDAP attribute name which contains the role name which will be used within Spring Security. Defaults to "cn". + attribute group-role-attribute {xsd:token} +user-details-class-attribute = + ## Allows the objectClass of the user entry to be specified. If set, the framework will attempt to load standard attributes for the defined class into the returned UserDetails object + attribute user-details-class {"person" | "inetOrgPerson"} +user-context-mapper-attribute = + ## Allows explicit customization of the loaded user object by specifying a UserDetailsContextMapper bean which will be called with the context information from the user's directory entry + attribute user-context-mapper-ref {xsd:token} + + +ldap-user-service = + ## This element configures a LdapUserDetailsService which is a combination of a FilterBasedLdapUserSearch and a DefaultLdapAuthoritiesPopulator. + element ldap-user-service {ldap-us.attlist} +ldap-us.attlist &= id? +ldap-us.attlist &= + ldap-server-ref-attribute? +ldap-us.attlist &= + user-search-filter-attribute? +ldap-us.attlist &= + user-search-base-attribute? +ldap-us.attlist &= + group-search-filter-attribute? +ldap-us.attlist &= + group-search-base-attribute? +ldap-us.attlist &= + group-role-attribute-attribute? +ldap-us.attlist &= + cache-ref? +ldap-us.attlist &= + role-prefix? +ldap-us.attlist &= + (user-details-class-attribute | user-context-mapper-attribute)? + +ldap-authentication-provider = + ## Sets up an ldap authentication provider + element ldap-authentication-provider {ldap-ap.attlist, password-compare-element?} +ldap-ap.attlist &= + ldap-server-ref-attribute? +ldap-ap.attlist &= + user-search-base-attribute? +ldap-ap.attlist &= + user-search-filter-attribute? +ldap-ap.attlist &= + group-search-base-attribute? +ldap-ap.attlist &= + group-search-filter-attribute? +ldap-ap.attlist &= + group-role-attribute-attribute? +ldap-ap.attlist &= + ## A specific pattern used to build the user's DN, for example "uid={0},ou=people". The key "{0}" must be present and will be substituted with the username. + attribute user-dn-pattern {xsd:token}? +ldap-ap.attlist &= + role-prefix? +ldap-ap.attlist &= + (user-details-class-attribute | user-context-mapper-attribute)? + +password-compare-element = + ## Specifies that an LDAP provider should use an LDAP compare operation of the user's password to authenticate the user + element password-compare {password-compare.attlist, password-encoder?} + +password-compare.attlist &= + ## The attribute in the directory which contains the user password. Defaults to "userPassword". + attribute password-attribute {xsd:token}? +password-compare.attlist &= + hash? + +intercept-methods = + ## Can be used inside a bean definition to add a security interceptor to the bean and set up access configuration attributes for the bean's methods + element intercept-methods {intercept-methods.attlist, protect+} +intercept-methods.attlist &= + ## Optional AccessDecisionManager bean ID to be used by the created method security interceptor. + attribute access-decision-manager-ref {xsd:token}? +intercept-methods.attlist &= + ## Use the AuthorizationManager API instead of AccessDecisionManager (defaults to true) + attribute use-authorization-manager {xsd:boolean}? +intercept-methods.attlist &= + ## Use this AuthorizationManager instead of the default (supercedes use-authorization-manager) + attribute authorization-manager-ref {xsd:token}? + +protect = + ## Defines a protected method and the access control configuration attributes that apply to it. We strongly advise you NOT to mix "protect" declarations with any services provided "global-method-security". + element protect {protect.attlist, empty} +protect.attlist &= + ## A method name + attribute method {xsd:token} +protect.attlist &= + ## Access configuration attributes list that applies to the method, e.g. "ROLE_A,ROLE_B". + attribute access {xsd:token} + +method-security-metadata-source = + ## Creates a MethodSecurityMetadataSource instance + element method-security-metadata-source {msmds.attlist, protect+} +msmds.attlist &= id? + +msmds.attlist &= use-expressions? + +method-security = + ## Provides method security for all beans registered in the Spring application context. Specifically, beans will be scanned for matches with Spring Security annotations. Where there is a match, the beans will automatically be proxied and security authorization applied to the methods accordingly. Interceptors are invoked in the order specified in AuthorizationInterceptorsOrder. Use can create your own interceptors using Spring AOP. Also, annotation-based interception can be overridden by expressions listed in elements. + element method-security {method-security.attlist, expression-handler?, protect-pointcut*} +method-security.attlist &= + ## Specifies whether the use of Spring Security's pre and post invocation annotations (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) should be enabled for this application context. Defaults to "true". + attribute pre-post-enabled {xsd:boolean}? +method-security.attlist &= + ## Specifies whether the use of Spring Security's @Secured annotations should be enabled for this application context. Defaults to "false". + attribute secured-enabled {xsd:boolean}? +method-security.attlist &= + ## Specifies whether JSR-250 style attributes are to be used (for example "RolesAllowed"). This will require the javax.annotation.security classes on the classpath. Defaults to "false". + attribute jsr250-enabled {xsd:boolean}? +method-security.attlist &= + ## If true, class-based proxying will be used instead of interface-based proxying. + attribute proxy-target-class {xsd:boolean}? +method-security.attlist &= + ## If set to aspectj, then use AspectJ to intercept method invocation + attribute mode {"aspectj"}? +method-security.attlist &= + ## Specifies the security context holder strategy to use, by default uses a ThreadLocal-based strategy + attribute security-context-holder-strategy-ref {xsd:string}? +method-security.attlist &= + ## Use this ObservationRegistry to collect metrics on various parts of the filter chain + attribute observation-registry-ref {xsd:token}? + +global-method-security = + ## Provides method security for all beans registered in the Spring application context. Specifically, beans will be scanned for matches with the ordered list of "protect-pointcut" sub-elements, Spring Security annotations and/or. Where there is a match, the beans will automatically be proxied and security authorization applied to the methods accordingly. If you use and enable all four sources of method security metadata (ie "protect-pointcut" declarations, expression annotations, @Secured and also JSR250 security annotations), the metadata sources will be queried in that order. In practical terms, this enables you to use XML to override method security metadata expressed in annotations. If using annotations, the order of precedence is EL-based (@PreAuthorize etc.), @Secured and finally JSR-250. + element global-method-security {global-method-security.attlist, (pre-post-annotation-handling | expression-handler)?, protect-pointcut*, after-invocation-provider*} +global-method-security.attlist &= + ## Specifies whether the use of Spring Security's pre and post invocation annotations (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) should be enabled for this application context. Defaults to "disabled". + attribute pre-post-annotations {"disabled" | "enabled" }? +global-method-security.attlist &= + ## Specifies whether the use of Spring Security's @Secured annotations should be enabled for this application context. Defaults to "disabled". + attribute secured-annotations {"disabled" | "enabled" }? +global-method-security.attlist &= + ## Specifies whether JSR-250 style attributes are to be used (for example "RolesAllowed"). This will require the javax.annotation.security classes on the classpath. Defaults to "disabled". + attribute jsr250-annotations {"disabled" | "enabled" }? +global-method-security.attlist &= + ## Optional AccessDecisionManager bean ID to override the default used for method security. + attribute access-decision-manager-ref {xsd:token}? +global-method-security.attlist &= + ## Optional RunAsmanager implementation which will be used by the configured MethodSecurityInterceptor + attribute run-as-manager-ref {xsd:token}? +global-method-security.attlist &= + ## Allows the advice "order" to be set for the method security interceptor. + attribute order {xsd:token}? +global-method-security.attlist &= + ## If true, class based proxying will be used instead of interface based proxying. + attribute proxy-target-class {xsd:boolean}? +global-method-security.attlist &= + ## Can be used to specify that AspectJ should be used instead of the default Spring AOP. If set, secured classes must be woven with the AnnotationSecurityAspect from the spring-security-aspects module. + attribute mode {"aspectj"}? +global-method-security.attlist &= + ## An external MethodSecurityMetadataSource instance can be supplied which will take priority over other sources (such as the default annotations). + attribute metadata-source-ref {xsd:token}? +global-method-security.attlist &= + authentication-manager-ref? + + +after-invocation-provider = + ## Allows addition of extra AfterInvocationProvider beans which should be called by the MethodSecurityInterceptor created by global-method-security. + element after-invocation-provider {ref} + +pre-post-annotation-handling = + ## Allows the default expression-based mechanism for handling Spring Security's pre and post invocation annotations (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) to be replace entirely. Only applies if these annotations are enabled. + element pre-post-annotation-handling {invocation-attribute-factory, pre-invocation-advice, post-invocation-advice} + +invocation-attribute-factory = + ## Defines the PrePostInvocationAttributeFactory instance which is used to generate pre and post invocation metadata from the annotated methods. + element invocation-attribute-factory {ref} + +pre-invocation-advice = + ## Customizes the PreInvocationAuthorizationAdviceVoter with the ref as the PreInvocationAuthorizationAdviceVoter for the element. + element pre-invocation-advice {ref} + +post-invocation-advice = + ## Customizes the PostInvocationAdviceProvider with the ref as the PostInvocationAuthorizationAdvice for the element. + element post-invocation-advice {ref} + + +expression-handler = + ## Defines the SecurityExpressionHandler instance which will be used if expression-based access-control is enabled. A default implementation (with no ACL support) will be used if not supplied. + element expression-handler {ref} + +protect-pointcut = + ## Defines a protected pointcut and the access control configuration attributes that apply to it. Every bean registered in the Spring application context that provides a method that matches the pointcut will receive security authorization. + element protect-pointcut {protect-pointcut.attlist, empty} +protect-pointcut.attlist &= + ## An AspectJ expression, including the 'execution' keyword. For example, 'execution(int com.foo.TargetObject.countLength(String))' (without the quotes). + attribute expression {xsd:string} +protect-pointcut.attlist &= + ## Access configuration attributes list that applies to all methods matching the pointcut, e.g. "ROLE_A,ROLE_B" + attribute access {xsd:token} + +websocket-message-broker = + ## Allows securing a Message Broker. There are two modes. If no id is specified: ensures that any SimpAnnotationMethodMessageHandler has the AuthenticationPrincipalArgumentResolver registered as a custom argument resolver; ensures that the SecurityContextChannelInterceptor is automatically registered for the clientInboundChannel; and that a ChannelSecurityInterceptor is registered with the clientInboundChannel. If the id is specified, creates a ChannelSecurityInterceptor that can be manually registered with the clientInboundChannel. + element websocket-message-broker { websocket-message-broker.attrlist, (intercept-message* & expression-handler?) } + +websocket-message-broker.attrlist &= + ## A bean identifier, used for referring to the bean elsewhere in the context. If specified, explicit configuration within clientInboundChannel is required. If not specified, ensures that any SimpAnnotationMethodMessageHandler has the AuthenticationPrincipalArgumentResolver registered as a custom argument resolver; ensures that the SecurityContextChannelInterceptor is automatically registered for the clientInboundChannel; and that a ChannelSecurityInterceptor is registered with the clientInboundChannel. + attribute id {xsd:token}? +websocket-message-broker.attrlist &= + ## Disables the requirement for CSRF token to be present in the Stomp headers (default false). Changing the default is useful if it is necessary to allow other origins to make SockJS connections. + attribute same-origin-disabled {xsd:boolean}? +websocket-message-broker.attrlist &= + ## Use this AuthorizationManager instead of deriving one from elements + attribute authorization-manager-ref {xsd:string}? +websocket-message-broker.attrlist &= + ## Use AuthorizationManager API instead of SecurityMetadatasource (defaults to true) + attribute use-authorization-manager {xsd:boolean}? +websocket-message-broker.attrlist &= + ## Use this SecurityContextHolderStrategy (note only supported in conjunction with the AuthorizationManager API) + attribute security-context-holder-strategy-ref {xsd:string}? + +intercept-message = + ## Creates an authorization rule for a websocket message. + element intercept-message {intercept-message.attrlist} + +intercept-message.attrlist &= + ## The destination ant pattern which will be mapped to the access attribute. For example, /** matches any message with a destination, /admin/** matches any message that has a destination that starts with admin. + attribute pattern {xsd:token}? +intercept-message.attrlist &= + ## The access configuration attributes that apply for the configured message. For example, permitAll grants access to anyone, hasRole('ROLE_ADMIN') requires the user have the role 'ROLE_ADMIN'. + attribute access {xsd:token}? +intercept-message.attrlist &= + ## The type of message to match on. Valid values are defined in SimpMessageType (i.e. CONNECT, CONNECT_ACK, HEARTBEAT, MESSAGE, SUBSCRIBE, UNSUBSCRIBE, DISCONNECT, DISCONNECT_ACK, OTHER). + attribute type {"CONNECT" | "CONNECT_ACK" | "HEARTBEAT" | "MESSAGE" | "SUBSCRIBE"| "UNSUBSCRIBE" | "DISCONNECT" | "DISCONNECT_ACK" | "OTHER"}? + +http-firewall = + ## Allows a custom instance of HttpFirewall to be injected into the FilterChainProxy created by the namespace. + element http-firewall {ref} + +http = + ## Container element for HTTP security configuration. Multiple elements can now be defined, each with a specific pattern to which the enclosed security configuration applies. A pattern can also be configured to bypass Spring Security's filters completely by setting the "security" attribute to "none". + element http {http.attlist, (intercept-url* & access-denied-handler? & form-login? & oauth2-login? & oauth2-client? & oauth2-resource-server? & saml2-login? & saml2-logout? & x509? & jee? & http-basic? & logout? & password-management? & session-management & remember-me? & anonymous? & port-mappings & custom-filter* & request-cache? & expression-handler? & headers? & csrf? & cors?) } +http.attlist &= + ## The request URL pattern which will be mapped to the filter chain created by this element. If omitted, the filter chain will match all requests. + attribute pattern {xsd:token}? +http.attlist &= + ## When set to 'none', requests matching the pattern attribute will be ignored by Spring Security. No security filters will be applied and no SecurityContext will be available. If set, the element must be empty, with no children. + attribute security {"none"}? +http.attlist &= + ## Allows a RequestMatcher instance to be used, as an alternative to pattern-matching. + attribute request-matcher-ref { xsd:token }? +http.attlist &= + ## Optional attribute specifying the ID of the RequestMatcher implementation used to decide whether to redirect a request to HTTPS + attribute redirect-to-https-request-matcher-ref { xsd:token }? +http.attlist &= + ## A legacy attribute which automatically registers a login form, BASIC authentication and a logout URL and logout services. If unspecified, defaults to "false". We'd recommend you avoid using this and instead explicitly configure the services you require. + attribute auto-config {xsd:boolean}? +http.attlist &= + use-expressions? +http.attlist &= + ## A reference to a SecurityContextHolderStrategy bean. This can be used to customize how the SecurityContextHolder is stored during a request + attribute security-context-holder-strategy-ref {xsd:token}? +http.attlist &= + ## Controls the eagerness with which an HTTP session is created by Spring Security classes. If not set, defaults to "ifRequired". If "stateless" is used, this implies that the application guarantees that it will not create a session. This differs from the use of "never" which means that Spring Security will not create a session, but will make use of one if the application does. + attribute create-session {"ifRequired" | "always" | "never" | "stateless"}? +http.attlist &= + ## A reference to a SecurityContextRepository bean. This can be used to customize how the SecurityContext is stored between requests. + attribute security-context-repository-ref {xsd:token}? +http.attlist &= + ## Optional attribute that specifies that the SecurityContext should require explicit saving rather than being synchronized from the SecurityContextHolder. Defaults to "true". + attribute security-context-explicit-save {xsd:boolean}? +http.attlist &= + request-matcher? +http.attlist &= + ## Provides versions of HttpServletRequest security methods such as isUserInRole() and getPrincipal() which are implemented by accessing the Spring SecurityContext. Defaults to "true". + attribute servlet-api-provision {xsd:boolean}? +http.attlist &= + ## If available, runs the request as the Subject acquired from the JaasAuthenticationToken. Defaults to "false". + attribute jaas-api-provision {xsd:boolean}? +http.attlist &= + ## Use AuthorizationManager API instead of SecurityMetadataSource (defaults to true) + attribute use-authorization-manager {xsd:boolean}? +http.attlist &= + ## Use this AuthorizationManager instead of deriving one from elements + attribute authorization-manager-ref {xsd:token}? +http.attlist &= + ## Optional attribute specifying the ID of the AccessDecisionManager implementation which should be used for authorizing HTTP requests. + attribute access-decision-manager-ref {xsd:token}? +http.attlist &= + ## Optional attribute specifying the realm name that will be used for all authentication features that require a realm name (eg BASIC and Digest authentication). If unspecified, defaults to "Spring Security Application". + attribute realm {xsd:token}? +http.attlist &= + ## Allows a customized AuthenticationEntryPoint to be set on the ExceptionTranslationFilter. + attribute entry-point-ref {xsd:token}? +http.attlist &= + ## Corresponds to the observeOncePerRequest property of FilterSecurityInterceptor. Defaults to "false" + attribute once-per-request {xsd:boolean}? +http.attlist &= + ## Corresponds to the shouldFilterAllDispatcherTypes property of AuthorizationFilter. Do not work when use-authorization-manager=false. Defaults to "true". + attribute filter-all-dispatcher-types {xsd:boolean}? +http.attlist &= + ## Prevents the jsessionid parameter from being added to rendered URLs. Defaults to "true" (rewriting is disabled). + attribute disable-url-rewriting {xsd:boolean}? +http.attlist &= + ## Exposes the list of filters defined by this configuration under this bean name in the application context. + name? +http.attlist &= + authentication-manager-ref? +http.attlist &= + ## Use this ObservationRegistry to collect metrics on various parts of the filter chain + attribute observation-registry-ref {xsd:token}? + +access-denied-handler = + ## Defines the access-denied strategy that should be used. An access denied page can be defined or a reference to an AccessDeniedHandler instance. + element access-denied-handler {access-denied-handler.attlist, empty} +access-denied-handler.attlist &= (ref | access-denied-handler-page) + +access-denied-handler-page = + ## The access denied page that an authenticated user will be redirected to if they request a page which they don't have the authority to access. + attribute error-page {xsd:token} + +intercept-url = + ## Specifies the access attributes and/or filter list for a particular set of URLs. + element intercept-url {intercept-url.attlist, empty} +intercept-url.attlist &= + (pattern | request-matcher-ref) +intercept-url.attlist &= + ## The access configuration attributes that apply for the configured path. + attribute access {xsd:token}? +intercept-url.attlist &= + ## The HTTP Method for which the access configuration attributes should apply. If not specified, the attributes will apply to any method. + attribute method {"GET" | "DELETE" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "TRACE"}? + +intercept-url.attlist &= + ## Used to specify that a URL must be accessed over http or https, or that there is no preference. The value should be "http", "https" or "any", respectively. + attribute requires-channel {xsd:token}? +intercept-url.attlist &= + ## The path to the servlet. This attribute is only applicable when 'request-matcher' is 'mvc'. In addition, the value is only required in the following 2 use cases: 1) There are 2 or more HttpServlet's registered in the ServletContext that have mappings starting with '/' and are different; 2) The pattern starts with the same value of a registered HttpServlet path, excluding the default (root) HttpServlet '/'. + attribute servlet-path {xsd:token}? + +logout = + ## Incorporates a logout processing filter. Most web applications require a logout filter, although you may not require one if you write a controller to provider similar logic. + element logout {logout.attlist, empty} +logout.attlist &= + ## Specifies the URL that will cause a logout. Spring Security will initialize a filter that responds to this particular URL. Defaults to /logout if unspecified. + attribute logout-url {xsd:token}? +logout.attlist &= + ## Specifies the URL to display once the user has logged out. If not specified, defaults to /?logout (i.e. /login?logout). + attribute logout-success-url {xsd:token}? +logout.attlist &= + ## Specifies whether a logout also causes HttpSession invalidation, which is generally desirable. If unspecified, defaults to true. + attribute invalidate-session {xsd:boolean}? +logout.attlist &= + ## A reference to a LogoutSuccessHandler implementation which will be used to determine the destination to which the user is taken after logging out. + attribute success-handler-ref {xsd:token}? +logout.attlist &= + ## A comma-separated list of the names of cookies which should be deleted when the user logs out + attribute delete-cookies {xsd:token}? + +request-cache = + ## Allow the RequestCache used for saving requests during the login process to be set + element request-cache {ref} + +form-login = + ## Sets up a form login configuration for authentication with a username and password + element form-login {form-login.attlist, empty} +form-login.attlist &= + ## The URL that the login form is posted to. If unspecified, it defaults to /login. + attribute login-processing-url {xsd:token}? +form-login.attlist &= + ## The name of the request parameter which contains the username. Defaults to 'username'. + attribute username-parameter {xsd:token}? +form-login.attlist &= + ## The name of the request parameter which contains the password. Defaults to 'password'. + attribute password-parameter {xsd:token}? +form-login.attlist &= + ## The URL that will be redirected to after successful authentication, if the user's previous action could not be resumed. This generally happens if the user visits a login page without having first requested a secured operation that triggers authentication. If unspecified, defaults to the root of the application. + attribute default-target-url {xsd:token}? +form-login.attlist &= + ## Whether the user should always be redirected to the default-target-url after login. + attribute always-use-default-target {xsd:boolean}? +form-login.attlist &= + ## The URL for the login page. If no login URL is specified, Spring Security will automatically create a login URL at GET /login and a corresponding filter to render that login URL when requested. + attribute login-page {xsd:token}? +form-login.attlist &= + ## The URL for the login failure page. If no login failure URL is specified, Spring Security will automatically create a failure login URL at /login?error and a corresponding filter to render that login failure URL when requested. + attribute authentication-failure-url {xsd:token}? +form-login.attlist &= + ## Reference to an AuthenticationSuccessHandler bean which should be used to handle a successful authentication request. Should not be used in combination with default-target-url (or always-use-default-target-url) as the implementation should always deal with navigation to the subsequent destination + attribute authentication-success-handler-ref {xsd:token}? +form-login.attlist &= + ## Reference to an AuthenticationFailureHandler bean which should be used to handle a failed authentication request. Should not be used in combination with authentication-failure-url as the implementation should always deal with navigation to the subsequent destination + attribute authentication-failure-handler-ref {xsd:token}? +form-login.attlist &= + ## Reference to an AuthenticationDetailsSource which will be used by the authentication filter + attribute authentication-details-source-ref {xsd:token}? +form-login.attlist &= + ## The URL for the ForwardAuthenticationFailureHandler + attribute authentication-failure-forward-url {xsd:token}? +form-login.attlist &= + ## The URL for the ForwardAuthenticationSuccessHandler + attribute authentication-success-forward-url {xsd:token}? + +oauth2-login = + ## Configures authentication support using an OAuth 2.0 and/or OpenID Connect 1.0 Provider. + element oauth2-login {oauth2-login.attlist} +oauth2-login.attlist &= + ## Reference to the ClientRegistrationRepository + attribute client-registration-repository-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the OAuth2AuthorizedClientRepository + attribute authorized-client-repository-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the OAuth2AuthorizedClientService + attribute authorized-client-service-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the AuthorizationRequestRepository + attribute authorization-request-repository-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the OAuth2AuthorizationRequestResolver + attribute authorization-request-resolver-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the authorization RedirectStrategy + attribute authorization-redirect-strategy-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the OAuth2AccessTokenResponseClient + attribute access-token-response-client-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the GrantedAuthoritiesMapper + attribute user-authorities-mapper-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the OAuth2UserService + attribute user-service-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the OpenID Connect OAuth2UserService + attribute oidc-user-service-ref {xsd:token}? +oauth2-login.attlist &= + ## The URI where the filter processes authentication requests + attribute login-processing-url {xsd:token}? +oauth2-login.attlist &= + ## The URI to send users to login + attribute login-page {xsd:token}? +oauth2-login.attlist &= + ## Reference to the AuthenticationSuccessHandler + attribute authentication-success-handler-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the AuthenticationFailureHandler + attribute authentication-failure-handler-ref {xsd:token}? +oauth2-login.attlist &= + ## Reference to the JwtDecoderFactory used by OidcAuthorizationCodeAuthenticationProvider + attribute jwt-decoder-factory-ref {xsd:token}? + +oauth2-client = + ## Configures OAuth 2.0 Client support. + element oauth2-client {oauth2-client.attlist, (authorization-code-grant?) } +oauth2-client.attlist &= + ## Reference to the ClientRegistrationRepository + attribute client-registration-repository-ref {xsd:token}? +oauth2-client.attlist &= + ## Reference to the OAuth2AuthorizedClientRepository + attribute authorized-client-repository-ref {xsd:token}? +oauth2-client.attlist &= + ## Reference to the OAuth2AuthorizedClientService + attribute authorized-client-service-ref {xsd:token}? + +authorization-code-grant = + ## Configures OAuth 2.0 Authorization Code Grant. + element authorization-code-grant {authorization-code-grant.attlist, empty} +authorization-code-grant.attlist &= + ## Reference to the AuthorizationRequestRepository + attribute authorization-request-repository-ref {xsd:token}? +authorization-code-grant.attlist &= + ## Reference to the authorization RedirectStrategy + attribute authorization-redirect-strategy-ref {xsd:token}? +authorization-code-grant.attlist &= + ## Reference to the OAuth2AuthorizationRequestResolver + attribute authorization-request-resolver-ref {xsd:token}? +authorization-code-grant.attlist &= + ## Reference to the OAuth2AccessTokenResponseClient + attribute access-token-response-client-ref {xsd:token}? + +client-registrations = + ## Container element for client(s) registered with an OAuth 2.0 or OpenID Connect 1.0 Provider. + element client-registrations {client-registration+, provider*} + +client-registration = + ## Represents a client registered with an OAuth 2.0 or OpenID Connect 1.0 Provider. + element client-registration {client-registration.attlist} +client-registration.attlist &= + ## The ID that uniquely identifies the client registration. + attribute registration-id {xsd:token} +client-registration.attlist &= + ## The client identifier. + attribute client-id {xsd:token} +client-registration.attlist &= + ## The client secret. + attribute client-secret {xsd:token}? +client-registration.attlist &= + ## The method used to authenticate the client with the provider. The supported values are client_secret_basic, client_secret_post and none (public clients). + attribute client-authentication-method {"client_secret_basic" | "basic" | "client_secret_post" | "post" | "none"}? +client-registration.attlist &= + ## The OAuth 2.0 Authorization Framework defines four Authorization Grant types. The supported values are authorization_code, client_credentials and password. + attribute authorization-grant-type {"authorization_code" | "client_credentials" | "password"}? +client-registration.attlist &= + ## The client’s registered redirect URI that the Authorization Server redirects the end-user’s user-agent to after the end-user has authenticated and authorized access to the client. + attribute redirect-uri {xsd:token}? +client-registration.attlist &= + ## A comma-separated list of scope(s) requested by the client during the Authorization Request flow, such as openid, email, or profile. + attribute scope {xsd:token}? +client-registration.attlist &= + ## A descriptive name used for the client. The name may be used in certain scenarios, such as when displaying the name of the client in the auto-generated login page. + attribute client-name {xsd:token}? +client-registration.attlist &= + ## A reference to the associated provider. May reference a 'provider' element or use one of the common providers (google, github, facebook, okta). + attribute provider-id {xsd:token} + +provider = + ## The configuration information for an OAuth 2.0 or OpenID Connect 1.0 Provider. + element provider {provider.attlist} +provider.attlist &= + ## The ID that uniquely identifies the provider. + attribute provider-id {xsd:token} +provider.attlist &= + ## The Authorization Endpoint URI for the Authorization Server. + attribute authorization-uri {xsd:token}? +provider.attlist &= + ## The Token Endpoint URI for the Authorization Server. + attribute token-uri {xsd:token}? +provider.attlist &= + ## The UserInfo Endpoint URI used to access the claims/attributes of the authenticated end-user. + attribute user-info-uri {xsd:token}? +provider.attlist &= + ## The authentication method used when sending the access token to the UserInfo Endpoint. The supported values are header, form and query. + attribute user-info-authentication-method {"header" | "form" | "query"}? +provider.attlist &= + ## The name of the attribute returned in the UserInfo Response that references the Name or Identifier of the end-user. + attribute user-info-user-name-attribute {xsd:token}? +provider.attlist &= + ## The URI used to retrieve the JSON Web Key (JWK) Set from the Authorization Server, which contains the cryptographic key(s) used to verify the JSON Web Signature (JWS) of the ID Token and optionally the UserInfo Response. + attribute jwk-set-uri {xsd:token}? +provider.attlist &= + ## The URI used to discover the configuration information for an OAuth 2.0 or OpenID Connect 1.0 Provider. + attribute issuer-uri {xsd:token}? + +oauth2-resource-server = + ## Configures authentication support as an OAuth 2.0 Resource Server. + element oauth2-resource-server {oauth2-resource-server.attlist, (jwt? & opaque-token?)} +oauth2-resource-server.attlist &= + ## Reference to an AuthenticationManagerResolver + attribute authentication-manager-resolver-ref {xsd:token}? +oauth2-resource-server.attlist &= + ## Reference to a BearerTokenResolver + attribute bearer-token-resolver-ref {xsd:token}? +oauth2-resource-server.attlist &= + ## Reference to a AuthenticationEntryPoint + attribute entry-point-ref {xsd:token}? +oauth2-resource-server.attlist &= + ## Reference to a AuthenticationConverter + attribute authentication-converter-ref {xsd:token}? + +jwt = + ## Configures JWT authentication + element jwt {jwt.attlist} +jwt.attlist &= + ## The URI to use to collect the JWK Set for verifying JWTs + attribute jwk-set-uri {xsd:token}? +jwt.attlist &= + ## Reference to a JwtDecoder + attribute decoder-ref {xsd:token}? +jwt.attlist &= + ## Reference to a Converter + attribute jwt-authentication-converter-ref {xsd:token}? + +opaque-token = + ## Configuration Opaque Token authentication + element opaque-token {opaque-token.attlist} +opaque-token.attlist &= + ## The URI to use to introspect opaque token attributes + attribute introspection-uri {xsd:token}? +opaque-token.attlist &= + ## The Client ID to use to authenticate the introspection request + attribute client-id {xsd:token}? +opaque-token.attlist &= + ## The Client secret to use to authenticate the introspection request + attribute client-secret {xsd:token}? +opaque-token.attlist &= + ## Reference to an OpaqueTokenIntrospector + attribute introspector-ref {xsd:token}? +opaque-token.attlist &= + ## Reference to an OpaqueTokenAuthenticationConverter responsible for converting successful introspection result into an Authentication. + attribute authentication-converter-ref {xsd:token}? + +saml2-login = + ## Configures authentication support for SAML 2.0 Login + element saml2-login {saml2-login.attlist} +saml2-login.attlist &= + ## Reference to the RelyingPartyRegistrationRepository + attribute relying-party-registration-repository-ref {xsd:token}? +saml2-login.attlist &= + ## Reference to the Saml2AuthenticationRequestRepository + attribute authentication-request-repository-ref {xsd:token}? +saml2-login.attlist &= + ## Reference to the Saml2AuthenticationRequestResolver + attribute authentication-request-resolver-ref {xsd:token}? +saml2-login.attlist &= + ## Reference to the AuthenticationConverter + attribute authentication-converter-ref {xsd:token}? +saml2-login.attlist &= + ## The URI where the filter processes authentication requests + attribute login-processing-url {xsd:token}? +saml2-login.attlist &= + ## The URI to send users to login + attribute login-page {xsd:token}? +saml2-login.attlist &= + ## Reference to the AuthenticationSuccessHandler + attribute authentication-success-handler-ref {xsd:token}? +saml2-login.attlist &= + ## Reference to the AuthenticationFailureHandler + attribute authentication-failure-handler-ref {xsd:token}? +saml2-login.attlist &= + ## Reference to the AuthenticationManager + attribute authentication-manager-ref {xsd:token}? + +saml2-logout = + ## Configures SAML 2.0 Single Logout support + element saml2-logout {saml2-logout.attlist} +saml2-logout.attlist &= + ## The URL by which the relying or asserting party can trigger logout + attribute logout-url {xsd:token}? +saml2-logout.attlist &= + ## The URL by which the asserting party can send a SAML 2.0 Logout Request + attribute logout-request-url {xsd:token}? +saml2-logout.attlist &= + ## The URL by which the asserting party can send a SAML 2.0 Logout Response + attribute logout-response-url {xsd:token}? +saml2-logout.attlist &= + ## Reference to the RelyingPartyRegistrationRepository + attribute relying-party-registration-repository-ref {xsd:token}? +saml2-logout.attlist &= + ## Reference to the Saml2LogoutRequestValidator + attribute logout-request-validator-ref {xsd:token}? +saml2-logout.attlist &= + ## Reference to the Saml2LogoutRequestResolver + attribute logout-request-resolver-ref {xsd:token}? +saml2-logout.attlist &= + ## Reference to the Saml2LogoutRequestRepository + attribute logout-request-repository-ref {xsd:token}? +saml2-logout.attlist &= + ## Reference to the Saml2LogoutResponseValidator + attribute logout-response-validator-ref {xsd:token}? +saml2-logout.attlist &= + ## Reference to the Saml2LogoutResponseResolver + attribute logout-response-resolver-ref {xsd:token}? + +relying-party-registrations = + ## Container element for relying party(ies) registered with a SAML 2.0 identity provider + element relying-party-registrations {relying-party-registrations.attlist, relying-party-registration+, asserting-party*} +relying-party-registrations.attlist &= + ## The identifier by which to refer to the repository in other beans + attribute id {xsd:token}? + +relying-party-registration = + ## Represents a relying party registered with a SAML 2.0 identity provider + element relying-party-registration {relying-party-registration.attlist, signing-credential*, decryption-credential*} +relying-party-registration.attlist &= + ## The ID that uniquely identifies the relying party registration. + attribute registration-id {xsd:token} +relying-party-registration.attlist &= + ## The location of the Identity Provider's metadata. + attribute metadata-location {xsd:token}? +relying-party-registration.attlist &= + ## The relying party's EntityID + attribute entity-id {xsd:token}? +relying-party-registration.attlist &= + ## The Assertion Consumer Service Location + attribute assertion-consumer-service-location {xsd:token}? +relying-party-registration.attlist &= + ## The Assertion Consumer Service Binding + attribute assertion-consumer-service-binding {xsd:token}? +relying-party-registration.attlist &= + ## A reference to the associated asserting party. + attribute asserting-party-id {xsd:token}? +relying-party-registration.attlist &= + ## The relying party SingleLogoutService Location + attribute single-logout-service-location {xsd:token}? +relying-party-registration.attlist &= + ## The relying party SingleLogoutService Response Location + attribute single-logout-service-response-location {xsd:token}? +relying-party-registration.attlist &= + ## The relying party SingleLogoutService Binding + attribute single-logout-service-binding {xsd:token}? + +signing-credential = + ## The relying party's signing credential + element signing-credential {signing-credential.attlist} +signing-credential.attlist &= + ## The private key location + attribute private-key-location {xsd:token} +signing-credential.attlist &= + ## The certificate location + attribute certificate-location {xsd:token} + +decryption-credential = + ## The relying party's decryption credential + element decryption-credential {decryption-credential.attlist} +decryption-credential.attlist &= + ## The private key location + attribute private-key-location {xsd:token} +decryption-credential.attlist &= + ## The certificate location + attribute certificate-location {xsd:token} + +asserting-party = + ## The configuration metadata of the Asserting party + element asserting-party {asserting-party.attlist, verification-credential*, encryption-credential*} +asserting-party.attlist &= + ## A unique identifier of the asserting party. + attribute asserting-party-id {xsd:token} +asserting-party.attlist &= + ## The asserting party's EntityID. + attribute entity-id {xsd:token} +asserting-party.attlist &= + ## Indicates the asserting party's preference that relying parties should sign the AuthnRequest before sending + attribute want-authn-requests-signed {xsd:token}? +asserting-party.attlist &= + ## The SingleSignOnService Location. + attribute single-sign-on-service-location {xsd:token} +asserting-party.attlist &= + ## The SingleSignOnService Binding. + attribute single-sign-on-service-binding {xsd:token}? +asserting-party.attlist &= + ## A comma separated list of org.opensaml.saml.ext.saml2alg.SigningMethod Algorithms for this asserting party, in preference order. + attribute signing-algorithms {xsd:token}? +asserting-party.attlist &= + ## The asserting party SingleLogoutService Location + attribute single-logout-service-location {xsd:token}? +asserting-party.attlist &= + ## The asserting party SingleLogoutService Response Location + attribute single-logout-service-response-location {xsd:token}? +asserting-party.attlist &= + ## The asserting party SingleLogoutService Binding + attribute single-logout-service-binding {xsd:token}? + +verification-credential = + ## The relying party's verification credential + element verification-credential {verification-credential.attlist} +verification-credential.attlist &= + ## The private key location + attribute private-key-location {xsd:token} +verification-credential.attlist &= + ## The certificate location + attribute certificate-location {xsd:token} + +encryption-credential = + ## The asserting party's encryption credential + element encryption-credential {encryption-credential.attlist} +encryption-credential.attlist &= + ## The private key location + attribute private-key-location {xsd:token} +encryption-credential.attlist &= + ## The certificate location + attribute certificate-location {xsd:token} + + +filter-chain-map = + ## Used to explicitly configure a FilterChainProxy instance with a FilterChainMap + element filter-chain-map {filter-chain-map.attlist, filter-chain+} +filter-chain-map.attlist &= + request-matcher? + +filter-chain = + ## Used within to define a specific URL pattern and the list of filters which apply to the URLs matching that pattern. When multiple filter-chain elements are assembled in a list in order to configure a FilterChainProxy, the most specific patterns must be placed at the top of the list, with most general ones at the bottom. + element filter-chain {filter-chain.attlist, empty} +filter-chain.attlist &= + (pattern | request-matcher-ref) +filter-chain.attlist &= + ## A comma separated list of bean names that implement Filter that should be processed for this FilterChain. If the value is none, then no Filters will be used for this FilterChain. + attribute filters {xsd:token} + +pattern = + ## The request URL pattern which will be mapped to the FilterChain. + attribute pattern {xsd:token} +request-matcher-ref = + ## Allows a RequestMatcher instance to be used, as an alternative to pattern-matching. + attribute request-matcher-ref {xsd:token} + +filter-security-metadata-source = + ## Used to explicitly configure a FilterSecurityMetadataSource bean for use with a FilterSecurityInterceptor. Usually only needed if you are configuring a FilterChainProxy explicitly, rather than using the element. The intercept-url elements used should only contain pattern, method and access attributes. Any others will result in a configuration error. + element filter-security-metadata-source {fsmds.attlist, intercept-url+} +fsmds.attlist &= + use-expressions? +fsmds.attlist &= + id? +fsmds.attlist &= + request-matcher? + +http-basic = + ## Adds support for basic authentication + element http-basic {http-basic.attlist, empty} + +http-basic.attlist &= + ## Sets the AuthenticationEntryPoint which is used by the BasicAuthenticationFilter. + attribute entry-point-ref {xsd:token}? +http-basic.attlist &= + ## Reference to an AuthenticationDetailsSource which will be used by the authentication filter + attribute authentication-details-source-ref {xsd:token}? + +password-management = + ## Adds support for the password management. + element password-management {password-management.attlist, empty} + +password-management.attlist &= + ## The change password page. Defaults to "/change-password". + attribute change-password-page {xsd:string}? + +session-management = + ## Session-management related functionality is implemented by the addition of a SessionManagementFilter to the filter stack. + element session-management {session-management.attlist, concurrency-control?} + +session-management.attlist &= + ## Specifies that SessionAuthenticationStrategy must be explicitly invoked. Default false (i.e. SessionManagementFilter will implicitly invoke SessionAuthenticationStrategy). + attribute authentication-strategy-explicit-invocation {xsd:boolean}? +session-management.attlist &= + ## Indicates how session fixation protection will be applied when a user authenticates. If set to "none", no protection will be applied. "newSession" will create a new empty session, with only Spring Security-related attributes migrated. "migrateSession" will create a new session and copy all session attributes to the new session. In Servlet 3.1 (Java EE 7) and newer containers, specifying "changeSessionId" will keep the existing session and use the container-supplied session fixation protection (HttpServletRequest#changeSessionId()). Defaults to "changeSessionId" in Servlet 3.1 and newer containers, "migrateSession" in older containers. Throws an exception if "changeSessionId" is used in older containers. + attribute session-fixation-protection {"none" | "newSession" | "migrateSession" | "changeSessionId" }? +session-management.attlist &= + ## The URL to which a user will be redirected if they submit an invalid session indentifier. Typically used to detect session timeouts. + attribute invalid-session-url {xsd:token}? +session-management.attlist &= + ## Allows injection of the InvalidSessionStrategy instance used by the SessionManagementFilter + attribute invalid-session-strategy-ref {xsd:token}? +session-management.attlist &= + ## Allows injection of the SessionAuthenticationStrategy instance used by the SessionManagementFilter + attribute session-authentication-strategy-ref {xsd:token}? +session-management.attlist &= + ## Defines the URL of the error page which should be shown when the SessionAuthenticationStrategy raises an exception. If not set, an unauthorized (401) error code will be returned to the client. Note that this attribute doesn't apply if the error occurs during a form-based login, where the URL for authentication failure will take precedence. + attribute session-authentication-error-url {xsd:token}? + + +concurrency-control = + ## Enables concurrent session control, limiting the number of authenticated sessions a user may have at the same time. + element concurrency-control {concurrency-control.attlist, empty} + +concurrency-control.attlist &= + ## The maximum number of sessions a single authenticated user can have open at the same time. Defaults to "1". A negative value denotes unlimited sessions. + attribute max-sessions {xsd:token}? +concurrency-control.attlist &= + ## Allows injection of the SessionLimit instance used by the ConcurrentSessionControlAuthenticationStrategy + attribute max-sessions-ref {xsd:token}? +concurrency-control.attlist &= + ## The URL a user will be redirected to if they attempt to use a session which has been "expired" because they have logged in again. + attribute expired-url {xsd:token}? +concurrency-control.attlist &= + ## Allows injection of the SessionInformationExpiredStrategy instance used by the ConcurrentSessionFilter + attribute expired-session-strategy-ref {xsd:token}? +concurrency-control.attlist &= + ## Specifies that an unauthorized error should be reported when a user attempts to login when they already have the maximum configured sessions open. The default behaviour is to expire the original session. If the session-authentication-error-url attribute is set on the session-management URL, the user will be redirected to this URL. + attribute error-if-maximum-exceeded {xsd:boolean}? +concurrency-control.attlist &= + ## Allows you to define an alias for the SessionRegistry bean in order to access it in your own configuration. + attribute session-registry-alias {xsd:token}? +concurrency-control.attlist &= + ## Allows you to define an external SessionRegistry bean to be used by the concurrency control setup. + attribute session-registry-ref {xsd:token}? + + +remember-me = + ## Sets up remember-me authentication. If used with the "key" attribute (or no attributes) the cookie-only implementation will be used. Specifying "token-repository-ref" or "remember-me-data-source-ref" will use the more secure, persisten token approach. + element remember-me {remember-me.attlist} +remember-me.attlist &= + ## The "key" used to identify cookies from a specific token-based remember-me application. You should set this to a unique value for your application. If unset, it will default to a random value generated by SecureRandom. + attribute key {xsd:token}? + +remember-me.attlist &= + (token-repository-ref | remember-me-data-source-ref | remember-me-services-ref) + +remember-me.attlist &= + user-service-ref? + +remember-me.attlist &= + ## Exports the internally defined RememberMeServices as a bean alias, allowing it to be used by other beans in the application context. + attribute services-alias {xsd:token}? + +remember-me.attlist &= + ## Determines whether the "secure" flag will be set on the remember-me cookie. If set to true, the cookie will only be submitted over HTTPS (recommended). By default, secure cookies will be used if the request is made on a secure connection. + attribute use-secure-cookie {xsd:boolean}? + +remember-me.attlist &= + ## The period (in seconds) for which the remember-me cookie should be valid. + attribute token-validity-seconds {xsd:string}? + +remember-me.attlist &= + ## Reference to an AuthenticationSuccessHandler bean which should be used to handle a successful remember-me authentication. + attribute authentication-success-handler-ref {xsd:token}? +remember-me.attlist &= + ## The name of the request parameter which toggles remember-me authentication. Defaults to 'remember-me'. + attribute remember-me-parameter {xsd:token}? +remember-me.attlist &= + ## The name of cookie which store the token for remember-me authentication. Defaults to 'remember-me'. + attribute remember-me-cookie {xsd:token}? + +token-repository-ref = + ## Reference to a PersistentTokenRepository bean for use with the persistent token remember-me implementation. + attribute token-repository-ref {xsd:token} +remember-me-services-ref = + ## Allows a custom implementation of RememberMeServices to be used. Note that this implementation should return RememberMeAuthenticationToken instances with the same "key" value as specified in the remember-me element. Alternatively it should register its own AuthenticationProvider. It should also implement the LogoutHandler interface, which will be invoked when a user logs out. Typically the remember-me cookie would be removed on logout. + attribute services-ref {xsd:token}? +remember-me-data-source-ref = + ## DataSource bean for the database that contains the token repository schema. + data-source-ref + +anonymous = + ## Adds support for automatically granting all anonymous web requests a particular principal identity and a corresponding granted authority. + element anonymous {anonymous.attlist} +anonymous.attlist &= + ## The key shared between the provider and filter. This generally does not need to be set. If unset, it will default to a random value generated by SecureRandom. + attribute key {xsd:token}? +anonymous.attlist &= + ## The username that should be assigned to the anonymous request. This allows the principal to be identified, which may be important for logging and auditing. if unset, defaults to "anonymousUser". + attribute username {xsd:token}? +anonymous.attlist &= + ## The granted authority that should be assigned to the anonymous request. Commonly this is used to assign the anonymous request particular roles, which can subsequently be used in authorization decisions. If unset, defaults to "ROLE_ANONYMOUS". + attribute granted-authority {xsd:token}? +anonymous.attlist &= + ## With the default namespace setup, the anonymous "authentication" facility is automatically enabled. You can disable it using this property. + attribute enabled {xsd:boolean}? + + +port-mappings = + ## Defines the list of mappings between http and https ports for use in redirects + element port-mappings {port-mappings.attlist, port-mapping+} + +port-mappings.attlist &= empty + +port-mapping = + ## Provides a method to map http ports to https ports when forcing a redirect. + element port-mapping {http-port, https-port} + +http-port = + ## The http port to use. + attribute http {xsd:token} + +https-port = + ## The https port to use. + attribute https {xsd:token} + + +x509 = + ## Adds support for X.509 client authentication. + element x509 {x509.attlist} +x509.attlist &= + ## The regular expression used to obtain the username from the certificate's subject. Defaults to matching on the common name using the pattern "CN=(.*?),". + attribute subject-principal-regex {xsd:token}? +x509.attlist &= + ## Explicitly specifies which user-service should be used to load user data for X.509 authenticated clients. If ommitted, the default user-service will be used. + user-service-ref? +x509.attlist &= + ## Reference to an AuthenticationDetailsSource which will be used by the authentication filter + attribute authentication-details-source-ref {xsd:token}? +x509.attlist &= + ## Reference to an X509PrincipalExtractor which will be used by the authentication filter + attribute principal-extractor-ref {xsd:token}? + +jee = + ## Adds a J2eePreAuthenticatedProcessingFilter to the filter chain to provide integration with container authentication. + element jee {jee.attlist} +jee.attlist &= + ## A comma-separate list of roles to look for in the incoming HttpServletRequest. + attribute mappable-roles {xsd:token} +jee.attlist &= + ## Explicitly specifies which user-service should be used to load user data for container authenticated clients. If ommitted, the set of mappable-roles will be used to construct the authorities for the user. + user-service-ref? + +authentication-manager = + ## Registers the AuthenticationManager instance and allows its list of AuthenticationProviders to be defined. Also allows you to define an alias to allow you to reference the AuthenticationManager in your own beans. + element authentication-manager {authman.attlist & authentication-provider* & ldap-authentication-provider*} +authman.attlist &= + id? +authman.attlist &= + ## An alias you wish to use for the AuthenticationManager bean (not required it you are using a specific id) + attribute alias {xsd:token}? +authman.attlist &= + ## If set to true, the AuthenticationManger will attempt to clear any credentials data in the returned Authentication object, once the user has been authenticated. + attribute erase-credentials {xsd:boolean}? +authman.attlist &= + ## Use this ObservationRegistry to collect metrics on various parts of the filter chain + attribute observation-registry-ref {xsd:token}? + +authentication-provider = + ## Indicates that the contained user-service should be used as an authentication source. + element authentication-provider {ap.attlist & any-user-service & password-encoder?} +ap.attlist &= + ## Specifies a reference to a separately configured AuthenticationProvider instance which should be registered within the AuthenticationManager. + ref? +ap.attlist &= + ## Specifies a reference to a separately configured UserDetailsService from which to obtain authentication data. + user-service-ref? + +user-service = + ## Creates an in-memory UserDetailsService from a properties file or a list of "user" child elements. Usernames are converted to lower-case internally to allow for case-insensitive lookups, so this should not be used if case-sensitivity is required. + element user-service {id? & (properties-file | (user*))} +properties-file = + ## The location of a Properties file where each line is in the format of username=password,grantedAuthority[,grantedAuthority][,enabled|disabled] + attribute properties {xsd:token}? + +user = + ## Represents a user in the application. + element user {user.attlist, empty} +user.attlist &= + ## The username assigned to the user. + attribute name {xsd:token} +user.attlist &= + ## The password assigned to the user. This may be hashed if the corresponding authentication provider supports hashing (remember to set the "hash" attribute of the "user-service" element). This attribute be omitted in the case where the data will not be used for authentication, but only for accessing authorities. If omitted, the namespace will generate a random value, preventing its accidental use for authentication. Cannot be empty. + attribute password {xsd:string}? +user.attlist &= + ## One of more authorities granted to the user. Separate authorities with a comma (but no space). For example, "ROLE_USER,ROLE_ADMINISTRATOR" + attribute authorities {xsd:token} +user.attlist &= + ## Can be set to "true" to mark an account as locked and unusable. + attribute locked {xsd:boolean}? +user.attlist &= + ## Can be set to "true" to mark an account as disabled and unusable. + attribute disabled {xsd:boolean}? + +jdbc-user-service = + ## Causes creation of a JDBC-based UserDetailsService. + element jdbc-user-service {id? & jdbc-user-service.attlist} +jdbc-user-service.attlist &= + ## The bean ID of the DataSource which provides the required tables. + attribute data-source-ref {xsd:token} +jdbc-user-service.attlist &= + cache-ref? +jdbc-user-service.attlist &= + ## An SQL statement to query a username, password, and enabled status given a username. Default is "select username,password,enabled from users where username = ?" + attribute users-by-username-query {xsd:token}? +jdbc-user-service.attlist &= + ## An SQL statement to query for a user's granted authorities given a username. The default is "select username, authority from authorities where username = ?" + attribute authorities-by-username-query {xsd:token}? +jdbc-user-service.attlist &= + ## An SQL statement to query user's group authorities given a username. The default is "select g.id, g.group_name, ga.authority from groups g, group_members gm, group_authorities ga where gm.username = ? and g.id = ga.group_id and g.id = gm.group_id" + attribute group-authorities-by-username-query {xsd:token}? +jdbc-user-service.attlist &= + role-prefix? + +csrf = +## Element for configuration of the CsrfFilter for protection against CSRF. It also updates the default RequestCache to only replay "GET" requests. + element csrf {csrf-options.attlist} +csrf-options.attlist &= + ## Specifies if csrf protection should be disabled. Default false (i.e. CSRF protection is enabled). + attribute disabled {xsd:boolean}? +csrf-options.attlist &= + ## The RequestMatcher instance to be used to determine if CSRF should be applied. Default is any HTTP method except "GET", "TRACE", "HEAD", "OPTIONS" + attribute request-matcher-ref { xsd:token }? +csrf-options.attlist &= + ## The CsrfTokenRepository to use. The default is HttpSessionCsrfTokenRepository wrapped by LazyCsrfTokenRepository. + attribute token-repository-ref { xsd:token }? +csrf-options.attlist &= + ## The CsrfTokenRequestHandler to use. The default is CsrfTokenRequestAttributeHandler. + attribute request-handler-ref { xsd:token }? + +headers = +## Element for configuration of the HeaderWritersFilter. Enables easy setting for the X-Frame-Options, X-XSS-Protection and X-Content-Type-Options headers. +element headers { headers-options.attlist, (cache-control? & xss-protection? & hsts? & frame-options? & content-type-options? & hpkp? & content-security-policy? & referrer-policy? & feature-policy? & permissions-policy? & cross-origin-opener-policy? & cross-origin-embedder-policy? & cross-origin-resource-policy? & header*)} +headers-options.attlist &= + ## Specifies if the default headers should be disabled. Default false. + attribute defaults-disabled {xsd:token}? +headers-options.attlist &= + ## Specifies if headers should be disabled. Default false. + attribute disabled {xsd:token}? +hsts = + ## Adds support for HTTP Strict Transport Security (HSTS) + element hsts {hsts-options.attlist} +hsts-options.attlist &= + ## Specifies if HTTP Strict Transport Security (HSTS) should be disabled. Default false. + attribute disabled {xsd:boolean}? +hsts-options.attlist &= + ## Specifies if subdomains should be included. Default true. + attribute include-subdomains {xsd:boolean}? +hsts-options.attlist &= + ## Specifies the maximum amount of time the host should be considered a Known HSTS Host. Default one year. + attribute max-age-seconds {xsd:integer}? +hsts-options.attlist &= + ## The RequestMatcher instance to be used to determine if the header should be set. Default is if HttpServletRequest.isSecure() is true. + attribute request-matcher-ref { xsd:token }? +hsts-options.attlist &= + ## Specifies if preload should be included. Default false. + attribute preload {xsd:boolean}? + +cors = +## Element for configuration of CorsFilter. A CorsConfigurationSource must be specified. If Spring MVC is present, then it will attempt to look up its `CorsConfigurationSource`. +element cors { cors-options.attlist } +cors-options.attlist &= + ref? +cors-options.attlist &= + ## Specifies a bean id that is a CorsConfigurationSource used to construct the CorsFilter to use + attribute configuration-source-ref {xsd:token}? + +hpkp = + ## Adds support for HTTP Public Key Pinning (HPKP). + element hpkp {hpkp.pins,hpkp.attlist} +hpkp.pins = + ## The list with pins + element pins {hpkp.pin+} +hpkp.pin = + ## A pin is specified using the base64-encoded SPKI fingerprint as value and the cryptographic hash algorithm as attribute + element pin { + ## The cryptographic hash algorithm + attribute algorithm { xsd:string }?, + text + } +hpkp.attlist &= + ## Specifies if HTTP Public Key Pinning (HPKP) should be disabled. Default false. + attribute disabled {xsd:boolean}? +hpkp.attlist &= + ## Specifies if subdomains should be included. Default false. + attribute include-subdomains {xsd:boolean}? +hpkp.attlist &= + ## Sets the value for the max-age directive of the Public-Key-Pins header. Default 60 days. + attribute max-age-seconds {xsd:integer}? +hpkp.attlist &= + ## Specifies if the browser should only report pin validation failures. Default true. + attribute report-only {xsd:boolean}? +hpkp.attlist &= + ## Specifies the URI to which the browser should report pin validation failures. + attribute report-uri {xsd:string}? + +content-security-policy = + ## Adds support for Content Security Policy (CSP) + element content-security-policy {csp-options.attlist} +csp-options.attlist &= + ## The security policy directive(s) for the Content-Security-Policy header or if report-only is set to true, then the Content-Security-Policy-Report-Only header is used. + attribute policy-directives {xsd:token}? +csp-options.attlist &= + ## Set to true, to enable the Content-Security-Policy-Report-Only header for reporting policy violations only. Defaults to false. + attribute report-only {xsd:boolean}? + +referrer-policy = + ## Adds support for Referrer Policy + element referrer-policy {referrer-options.attlist} +referrer-options.attlist &= + ## The policies for the Referrer-Policy header. + attribute policy {"no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"}? + +feature-policy = + ## Adds support for Feature Policy + element feature-policy {feature-options.attlist} +feature-options.attlist &= + ## The security policy directive(s) for the Feature-Policy header. + attribute policy-directives {xsd:token}? + +permissions-policy = + ## Adds support for Permissions Policy + element permissions-policy {permissions-options.attlist} +permissions-options.attlist &= + ## The policies for the Permissions-Policy header. + attribute policy {xsd:token}? + +cache-control = + ## Adds Cache-Control no-cache, no-store, must-revalidate, Pragma no-cache, and Expires 0 for every request + element cache-control {cache-control.attlist} +cache-control.attlist &= + ## Specifies if Cache Control should be disabled. Default false. + attribute disabled {xsd:boolean}? + +frame-options = + ## Enable basic clickjacking support for newer browsers (IE8+), will set the X-Frame-Options header. + element frame-options {frame-options.attlist,empty} +frame-options.attlist &= + ## If disabled, the X-Frame-Options header will not be included. Default false. + attribute disabled {xsd:boolean}? +frame-options.attlist &= + ## Specify the policy to use for the X-Frame-Options-Header. + attribute policy {"DENY","SAMEORIGIN","ALLOW-FROM"}? +frame-options.attlist &= + ## Specify the strategy to use when ALLOW-FROM is chosen. + attribute strategy {"static","whitelist","regexp"}? +frame-options.attlist &= + ## Specify a reference to the custom AllowFromStrategy to use when ALLOW-FROM is chosen. + ref? +frame-options.attlist &= + ## Specify a value to use for the chosen strategy. + attribute value {xsd:string}? +frame-options.attlist &= + ## Specify the request parameter to use for the origin when using a 'whitelist' or 'regexp' based strategy. Default is 'from'. + ## Deprecated ALLOW-FROM is an obsolete directive that no longer works in modern browsers. Instead use + ## Content-Security-Policy with the + ## frame-ancestors + ## directive. + attribute from-parameter {xsd:string}? + + +xss-protection = + ## Enable basic XSS browser protection, supported by newer browsers (IE8+), will set the X-XSS-Protection header. + element xss-protection {xss-protection.attlist,empty} +xss-protection.attlist &= + ## disable the X-XSS-Protection header. Default is 'false' meaning it is enabled. + attribute disabled {xsd:boolean}? +xss-protection.attlist &= + ## Specify the value for the X-Xss-Protection header. Defaults to "0". + attribute header-value {"0"|"1"|"1; mode=block"}? + +content-type-options = + ## Add a X-Content-Type-Options header to the resopnse. Value is always 'nosniff'. + element content-type-options {content-type-options.attlist, empty} +content-type-options.attlist &= + ## If disabled, the X-Content-Type-Options header will not be included. Default false. + attribute disabled {xsd:boolean}? + +cross-origin-opener-policy = + ## Adds support for Cross-Origin-Opener-Policy header + element cross-origin-opener-policy {cross-origin-opener-policy-options.attlist,empty} +cross-origin-opener-policy-options.attlist &= + ## The policies for the Cross-Origin-Opener-Policy header. + attribute policy {"unsafe-none","same-origin","same-origin-allow-popups"}? + +cross-origin-embedder-policy = + ## Adds support for Cross-Origin-Embedder-Policy header + element cross-origin-embedder-policy {cross-origin-embedder-policy-options.attlist,empty} +cross-origin-embedder-policy-options.attlist &= + ## The policies for the Cross-Origin-Embedder-Policy header. + attribute policy {"unsafe-none","require-corp", "credentialless"}? + +cross-origin-resource-policy = + ## Adds support for Cross-Origin-Resource-Policy header + element cross-origin-resource-policy {cross-origin-resource-policy-options.attlist,empty} +cross-origin-resource-policy-options.attlist &= + ## The policies for the Cross-Origin-Resource-Policy header. + attribute policy {"cross-origin","same-origin","same-site"}? + +header= + ## Add additional headers to the response. + element header {header.attlist} +header.attlist &= + ## The name of the header to add. + attribute name {xsd:token}? +header.attlist &= + ## The value for the header. + attribute value {xsd:token}? +header.attlist &= + ## Reference to a custom HeaderWriter implementation. + ref? + +any-user-service = user-service | jdbc-user-service | ldap-user-service + +custom-filter = + ## Used to indicate that a filter bean declaration should be incorporated into the security filter chain. + element custom-filter {custom-filter.attlist} + +custom-filter.attlist &= + ref + +custom-filter.attlist &= + (after | before | position) + +after = + ## The filter immediately after which the custom-filter should be placed in the chain. This feature will only be needed by advanced users who wish to mix their own filters into the security filter chain and have some knowledge of the standard Spring Security filters. The filter names map to specific Spring Security implementation filters. + attribute after {named-security-filter} +before = + ## The filter immediately before which the custom-filter should be placed in the chain + attribute before {named-security-filter} +position = + ## The explicit position at which the custom-filter should be placed in the chain. Use if you are replacing a standard filter. + attribute position {named-security-filter} + +named-security-filter = "FIRST" | "DISABLE_ENCODE_URL_FILTER" | "FORCE_EAGER_SESSION_FILTER" | "CHANNEL_FILTER" | "HTTPS_REDIRECT_FILTER" | "SECURITY_CONTEXT_FILTER" | "CONCURRENT_SESSION_FILTER" | "WEB_ASYNC_MANAGER_FILTER" | "HEADERS_FILTER" | "CORS_FILTER" | "SAML2_LOGOUT_REQUEST_FILTER" | "SAML2_LOGOUT_RESPONSE_FILTER" | "CSRF_FILTER" | "SAML2_LOGOUT_FILTER" | "LOGOUT_FILTER" | "OAUTH2_AUTHORIZATION_REQUEST_FILTER" | "SAML2_AUTHENTICATION_REQUEST_FILTER" | "X509_FILTER" | "PRE_AUTH_FILTER" | "CAS_FILTER" | "OAUTH2_LOGIN_FILTER" | "SAML2_AUTHENTICATION_FILTER" | "FORM_LOGIN_FILTER" | "DEFAULT_RESOURCES_FILTER" | "LOGIN_PAGE_FILTER" | "LOGOUT_PAGE_FILTER" | "DIGEST_AUTH_FILTER" | "BEARER_TOKEN_AUTH_FILTER" | "BASIC_AUTH_FILTER" | "REQUEST_CACHE_FILTER" | "SERVLET_API_SUPPORT_FILTER" | "JAAS_API_SUPPORT_FILTER" | "REMEMBER_ME_FILTER" | "ANONYMOUS_FILTER" | "OAUTH2_AUTHORIZATION_CODE_GRANT_FILTER" | "WELL_KNOWN_CHANGE_PASSWORD_REDIRECT_FILTER" | "SESSION_MANAGEMENT_FILTER" | "EXCEPTION_TRANSLATION_FILTER" | "FILTER_SECURITY_INTERCEPTOR" | "SWITCH_USER_FILTER" | "LAST" diff --git a/config/src/main/resources/org/springframework/security/config/spring-security-7.2.xsd b/config/src/main/resources/org/springframework/security/config/spring-security-7.2.xsd new file mode 100644 index 0000000000..59317aa2b4 --- /dev/null +++ b/config/src/main/resources/org/springframework/security/config/spring-security-7.2.xsd @@ -0,0 +1,3849 @@ + + + + + + Defines the hashing algorithm used on user passwords. Bcrypt is recommended. + + + + + + + + + + + + + Whether a string should be base64 encoded + + + + + + + + Defines the strategy use for matching incoming requests. Currently the options are 'mvc' + (for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions + and 'ciRegex' for case-insensitive regular expressions. + + + + + + + + + + + + + + + + Specifies an IP port number. Used to configure an embedded LDAP server, for example. + + + + + + + + Specifies a URL. + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + + + Defines a reference to a Spring bean Id. + + + + + + + + Defines a reference to a cache for use with a UserDetailsService. + + + + + + + + A reference to a user-service (or UserDetailsService bean) Id + + + + + + + + A reference to an AuthenticationManager bean + + + + + + + + A reference to a DataSource bean + + + + + + + Enables Spring Security debugging infrastructure. This will provide human-readable + (multi-line) debugging information to monitor requests coming into the security filters. + This may include sensitive information, such as request parameters or headers, and should + only be used in a development environment. + + + + + + + + + Defines a reference to a Spring bean Id. + + + + + + Defines the hashing algorithm used on user passwords. Bcrypt is recommended. + + + + + + + + + + + + + A non-empty string prefix that will be added to role strings loaded from persistent + storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is + non-empty. + + + + + + + + Enables the use of expressions in the 'access' attributes in <intercept-url> elements + rather than the traditional list of configuration attributes. Defaults to 'true'. If + enabled, each attribute should contain a single boolean expression. If the expression + evaluates to 'true', access will be granted. + + + + + + + Defines an LDAP server location or starts an embedded server. The url indicates the + location of a remote server. If no url is given, an embedded server will be started, + listening on the supplied port number. The port is optional and defaults to 33389. A + Spring LDAP ContextSource bean will be registered for the server with the id supplied. + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + Specifies a URL. + + + + + + Specifies an IP port number. Used to configure an embedded LDAP server, for example. + + + + + + Username (DN) of the "manager" user identity which will be used to authenticate to a + (non-embedded) LDAP server. If omitted, anonymous access will be used. + + + + + + The password for the manager DN. This is required if the manager-dn is specified. + + + + + + Explicitly specifies an ldif file resource to load into an embedded LDAP server. The + default is classpath*:*.ldiff + + + + + + Optional root suffix for the embedded LDAP server. Default is "dc=springframework,dc=org" + + + + + + Explicitly specifies which embedded ldap server should use. The only supported value is + 'unboundid'. By default, it will depends if the library is available in the classpath. + + + + + + + + + + + + + The optional server to use. If omitted, and a default LDAP server is registered (using + <ldap-server> with no Id), that server will be used. + + + + + + + + Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN + of the user. + + + + + + + + Search base for group membership searches. Defaults to "" (searching from the root). + + + + + + + + The LDAP filter used to search for users (optional). For example "(uid={0})". The + substituted parameter is the user's login name. + + + + + + + + Search base for user searches. Defaults to "". Only used with a 'user-search-filter'. + + + + + + + + The LDAP attribute name which contains the role name which will be used within Spring + Security. Defaults to "cn". + + + + + + + + Allows the objectClass of the user entry to be specified. If set, the framework will + attempt to load standard attributes for the defined class into the returned UserDetails + object + + + + + + + + + + + + + + Allows explicit customization of the loaded user object by specifying a + UserDetailsContextMapper bean which will be called with the context information from the + user's directory entry + + + + + + + This element configures a LdapUserDetailsService which is a combination of a + FilterBasedLdapUserSearch and a DefaultLdapAuthoritiesPopulator. + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + The optional server to use. If omitted, and a default LDAP server is registered (using + <ldap-server> with no Id), that server will be used. + + + + + + The LDAP filter used to search for users (optional). For example "(uid={0})". The + substituted parameter is the user's login name. + + + + + + Search base for user searches. Defaults to "". Only used with a 'user-search-filter'. + + + + + + Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN + of the user. + + + + + + Search base for group membership searches. Defaults to "" (searching from the root). + + + + + + The LDAP attribute name which contains the role name which will be used within Spring + Security. Defaults to "cn". + + + + + + Defines a reference to a cache for use with a UserDetailsService. + + + + + + A non-empty string prefix that will be added to role strings loaded from persistent + storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is + non-empty. + + + + + + Allows the objectClass of the user entry to be specified. If set, the framework will + attempt to load standard attributes for the defined class into the returned UserDetails + object + + + + + + + + + + + + Allows explicit customization of the loaded user object by specifying a + UserDetailsContextMapper bean which will be called with the context information from the + user's directory entry + + + + + + + + + The optional server to use. If omitted, and a default LDAP server is registered (using + <ldap-server> with no Id), that server will be used. + + + + + + Search base for user searches. Defaults to "". Only used with a 'user-search-filter'. + + + + + + The LDAP filter used to search for users (optional). For example "(uid={0})". The + substituted parameter is the user's login name. + + + + + + Search base for group membership searches. Defaults to "" (searching from the root). + + + + + + Group search filter. Defaults to (uniqueMember={0}). The substituted parameter is the DN + of the user. + + + + + + The LDAP attribute name which contains the role name which will be used within Spring + Security. Defaults to "cn". + + + + + + A specific pattern used to build the user's DN, for example "uid={0},ou=people". The key + "{0}" must be present and will be substituted with the username. + + + + + + A non-empty string prefix that will be added to role strings loaded from persistent + storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is + non-empty. + + + + + + Allows the objectClass of the user entry to be specified. If set, the framework will + attempt to load standard attributes for the defined class into the returned UserDetails + object + + + + + + + + + + + + Allows explicit customization of the loaded user object by specifying a + UserDetailsContextMapper bean which will be called with the context information from the + user's directory entry + + + + + + + + + The attribute in the directory which contains the user password. Defaults to + "userPassword". + + + + + + Defines the hashing algorithm used on user passwords. Bcrypt is recommended. + + + + + + + + + + + + Can be used inside a bean definition to add a security interceptor to the bean and set up + access configuration attributes for the bean's methods + + + + + + + Defines a protected method and the access control configuration attributes that apply to + it. We strongly advise you NOT to mix "protect" declarations with any services provided + "global-method-security". + + + + + + + + + + + + + + Optional AccessDecisionManager bean ID to be used by the created method security + interceptor. + + + + + + Use the AuthorizationManager API instead of AccessDecisionManager (defaults to true) + + + + + + Use this AuthorizationManager instead of the default (supercedes + use-authorization-manager) + + + + + + + + + A method name + + + + + + Access configuration attributes list that applies to the method, e.g. "ROLE_A,ROLE_B". + + + + + + + Creates a MethodSecurityMetadataSource instance + + + + + + + Defines a protected method and the access control configuration attributes that apply to + it. We strongly advise you NOT to mix "protect" declarations with any services provided + "global-method-security". + + + + + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + Enables the use of expressions in the 'access' attributes in <intercept-url> elements + rather than the traditional list of configuration attributes. Defaults to 'true'. If + enabled, each attribute should contain a single boolean expression. If the expression + evaluates to 'true', access will be granted. + + + + + + + Provides method security for all beans registered in the Spring application context. + Specifically, beans will be scanned for matches with Spring Security annotations. Where + there is a match, the beans will automatically be proxied and security authorization + applied to the methods accordingly. Interceptors are invoked in the order specified in + AuthorizationInterceptorsOrder. Use can create your own interceptors using Spring AOP. + Also, annotation-based interception can be overridden by expressions listed in + <protect-pointcut> elements. + + + + + + + Defines the SecurityExpressionHandler instance which will be used if expression-based + access-control is enabled. A default implementation (with no ACL support) will be used if + not supplied. + + + + + + + + + Defines a protected pointcut and the access control configuration attributes that apply to + it. Every bean registered in the Spring application context that provides a method that + matches the pointcut will receive security authorization. + + + + + + + + + + + + + + Specifies whether the use of Spring Security's pre and post invocation annotations + (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) should be enabled for this + application context. Defaults to "true". + + + + + + Specifies whether the use of Spring Security's @Secured annotations should be enabled for + this application context. Defaults to "false". + + + + + + Specifies whether JSR-250 style attributes are to be used (for example "RolesAllowed"). + This will require the javax.annotation.security classes on the classpath. Defaults to + "false". + + + + + + If true, class-based proxying will be used instead of interface-based proxying. + + + + + + If set to aspectj, then use AspectJ to intercept method invocation + + + + + + + + + + + Specifies the security context holder strategy to use, by default uses a ThreadLocal-based + strategy + + + + + + Use this ObservationRegistry to collect metrics on various parts of the filter chain + + + + + + + Provides method security for all beans registered in the Spring application context. + Specifically, beans will be scanned for matches with the ordered list of + "protect-pointcut" sub-elements, Spring Security annotations and/or. Where there is a + match, the beans will automatically be proxied and security authorization applied to the + methods accordingly. If you use and enable all four sources of method security metadata + (ie "protect-pointcut" declarations, expression annotations, @Secured and also JSR250 + security annotations), the metadata sources will be queried in that order. In practical + terms, this enables you to use XML to override method security metadata expressed in + annotations. If using annotations, the order of precedence is EL-based (@PreAuthorize + etc.), @Secured and finally JSR-250. + + + + + + + + Allows the default expression-based mechanism for handling Spring Security's pre and post + invocation annotations (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) to be + replace entirely. Only applies if these annotations are enabled. + + + + + + + Defines the PrePostInvocationAttributeFactory instance which is used to generate pre and + post invocation metadata from the annotated methods. + + + + + + + + + Customizes the PreInvocationAuthorizationAdviceVoter with the ref as the + PreInvocationAuthorizationAdviceVoter for the <pre-post-annotation-handling> element. + + + + + + + + + Customizes the PostInvocationAdviceProvider with the ref as the + PostInvocationAuthorizationAdvice for the <pre-post-annotation-handling> element. + + + + + + + + + + + + Defines the SecurityExpressionHandler instance which will be used if expression-based + access-control is enabled. A default implementation (with no ACL support) will be used if + not supplied. + + + + + + + + + + Defines a protected pointcut and the access control configuration attributes that apply to + it. Every bean registered in the Spring application context that provides a method that + matches the pointcut will receive security authorization. + + + + + + + + + Allows addition of extra AfterInvocationProvider beans which should be called by the + MethodSecurityInterceptor created by global-method-security. + + + + + + + + + + + + + + Specifies whether the use of Spring Security's pre and post invocation annotations + (@PreFilter, @PreAuthorize, @PostFilter, @PostAuthorize) should be enabled for this + application context. Defaults to "disabled". + + + + + + + + + + + + Specifies whether the use of Spring Security's @Secured annotations should be enabled for + this application context. Defaults to "disabled". + + + + + + + + + + + + Specifies whether JSR-250 style attributes are to be used (for example "RolesAllowed"). + This will require the javax.annotation.security classes on the classpath. Defaults to + "disabled". + + + + + + + + + + + + Optional AccessDecisionManager bean ID to override the default used for method security. + + + + + + Optional RunAsmanager implementation which will be used by the configured + MethodSecurityInterceptor + + + + + + Allows the advice "order" to be set for the method security interceptor. + + + + + + If true, class based proxying will be used instead of interface based proxying. + + + + + + Can be used to specify that AspectJ should be used instead of the default Spring AOP. If + set, secured classes must be woven with the AnnotationSecurityAspect from the + spring-security-aspects module. + + + + + + + + + + + An external MethodSecurityMetadataSource instance can be supplied which will take priority + over other sources (such as the default annotations). + + + + + + A reference to an AuthenticationManager bean + + + + + + + + + + + + + + + An AspectJ expression, including the 'execution' keyword. For example, 'execution(int + com.foo.TargetObject.countLength(String))' (without the quotes). + + + + + + Access configuration attributes list that applies to all methods matching the pointcut, + e.g. "ROLE_A,ROLE_B" + + + + + + + Allows securing a Message Broker. There are two modes. If no id is specified: ensures that + any SimpAnnotationMethodMessageHandler has the AuthenticationPrincipalArgumentResolver + registered as a custom argument resolver; ensures that the + SecurityContextChannelInterceptor is automatically registered for the + clientInboundChannel; and that a ChannelSecurityInterceptor is registered with the + clientInboundChannel. If the id is specified, creates a ChannelSecurityInterceptor that + can be manually registered with the clientInboundChannel. + + + + + + + + Defines the SecurityExpressionHandler instance which will be used if expression-based + access-control is enabled. A default implementation (with no ACL support) will be used if + not supplied. + + + + + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. If specified, + explicit configuration within clientInboundChannel is required. If not specified, ensures + that any SimpAnnotationMethodMessageHandler has the + AuthenticationPrincipalArgumentResolver registered as a custom argument resolver; ensures + that the SecurityContextChannelInterceptor is automatically registered for the + clientInboundChannel; and that a ChannelSecurityInterceptor is registered with the + clientInboundChannel. + + + + + + Disables the requirement for CSRF token to be present in the Stomp headers (default + false). Changing the default is useful if it is necessary to allow other origins to make + SockJS connections. + + + + + + Use this AuthorizationManager instead of deriving one from <intercept-message> elements + + + + + + Use AuthorizationManager API instead of SecurityMetadatasource (defaults to true) + + + + + + Use this SecurityContextHolderStrategy (note only supported in conjunction with the + AuthorizationManager API) + + + + + + + Creates an authorization rule for a websocket message. + + + + + + + + + + The destination ant pattern which will be mapped to the access attribute. For example, /** + matches any message with a destination, /admin/** matches any message that has a + destination that starts with admin. + + + + + + The access configuration attributes that apply for the configured message. For example, + permitAll grants access to anyone, hasRole('ROLE_ADMIN') requires the user have the role + 'ROLE_ADMIN'. + + + + + + The type of message to match on. Valid values are defined in SimpMessageType (i.e. + CONNECT, CONNECT_ACK, HEARTBEAT, MESSAGE, SUBSCRIBE, UNSUBSCRIBE, DISCONNECT, + DISCONNECT_ACK, OTHER). + + + + + + + + + + + + + + + + + + + + Allows a custom instance of HttpFirewall to be injected into the FilterChainProxy created + by the namespace. + + + + + + + + + Container element for HTTP security configuration. Multiple elements can now be defined, + each with a specific pattern to which the enclosed security configuration applies. A + pattern can also be configured to bypass Spring Security's filters completely by setting + the "security" attribute to "none". + + + + + + + Specifies the access attributes and/or filter list for a particular set of URLs. + + + + + + + + + Defines the access-denied strategy that should be used. An access denied page can be + defined or a reference to an AccessDeniedHandler instance. + + + + + + + + + Sets up a form login configuration for authentication with a username and password + + + + + + + + + + + + Configures authentication support for SAML 2.0 Login + + + + + + + + + Configures SAML 2.0 Single Logout support + + + + + + + + + Adds support for X.509 client authentication. + + + + + + + + + + Adds support for basic authentication + + + + + + + + + Incorporates a logout processing filter. Most web applications require a logout filter, + although you may not require one if you write a controller to provider similar logic. + + + + + + + + + + Session-management related functionality is implemented by the addition of a + SessionManagementFilter to the filter stack. + + + + + + + Enables concurrent session control, limiting the number of authenticated sessions a user + may have at the same time. + + + + + + + + + + + + + Sets up remember-me authentication. If used with the "key" attribute (or no attributes) + the cookie-only implementation will be used. Specifying "token-repository-ref" or + "remember-me-data-source-ref" will use the more secure, persisten token approach. + + + + + + + + + Adds support for automatically granting all anonymous web requests a particular principal + identity and a corresponding granted authority. + + + + + + + + + Defines the list of mappings between http and https ports for use in redirects + + + + + + + Provides a method to map http ports to https ports when forcing a redirect. + + + + + + + + + + + + + + + Defines the SecurityExpressionHandler instance which will be used if expression-based + access-control is enabled. A default implementation (with no ACL support) will be used if + not supplied. + + + + + + + + + + + + + + + + + The request URL pattern which will be mapped to the filter chain created by this <http> + element. If omitted, the filter chain will match all requests. + + + + + + When set to 'none', requests matching the pattern attribute will be ignored by Spring + Security. No security filters will be applied and no SecurityContext will be available. If + set, the <http> element must be empty, with no children. + + + + + + + + + + + Allows a RequestMatcher instance to be used, as an alternative to pattern-matching. + + + + + + Optional attribute specifying the ID of the RequestMatcher implementation used to decide + whether to redirect a request to HTTPS + + + + + + A legacy attribute which automatically registers a login form, BASIC authentication and a + logout URL and logout services. If unspecified, defaults to "false". We'd recommend you + avoid using this and instead explicitly configure the services you require. + + + + + + Enables the use of expressions in the 'access' attributes in <intercept-url> elements + rather than the traditional list of configuration attributes. Defaults to 'true'. If + enabled, each attribute should contain a single boolean expression. If the expression + evaluates to 'true', access will be granted. + + + + + + A reference to a SecurityContextHolderStrategy bean. This can be used to customize how the + SecurityContextHolder is stored during a request + + + + + + Controls the eagerness with which an HTTP session is created by Spring Security classes. + If not set, defaults to "ifRequired". If "stateless" is used, this implies that the + application guarantees that it will not create a session. This differs from the use of + "never" which means that Spring Security will not create a session, but will make use of + one if the application does. + + + + + + + + + + + + + + A reference to a SecurityContextRepository bean. This can be used to customize how the + SecurityContext is stored between requests. + + + + + + Optional attribute that specifies that the SecurityContext should require explicit saving + rather than being synchronized from the SecurityContextHolder. Defaults to "true". + + + + + + Defines the strategy use for matching incoming requests. Currently the options are 'mvc' + (for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions + and 'ciRegex' for case-insensitive regular expressions. + + + + + + + + + + + + + + Provides versions of HttpServletRequest security methods such as isUserInRole() and + getPrincipal() which are implemented by accessing the Spring SecurityContext. Defaults to + "true". + + + + + + If available, runs the request as the Subject acquired from the JaasAuthenticationToken. + Defaults to "false". + + + + + + Use AuthorizationManager API instead of SecurityMetadataSource (defaults to true) + + + + + + Use this AuthorizationManager instead of deriving one from <intercept-url> elements + + + + + + Optional attribute specifying the ID of the AccessDecisionManager implementation which + should be used for authorizing HTTP requests. + + + + + + Optional attribute specifying the realm name that will be used for all authentication + features that require a realm name (eg BASIC and Digest authentication). If unspecified, + defaults to "Spring Security Application". + + + + + + Allows a customized AuthenticationEntryPoint to be set on the ExceptionTranslationFilter. + + + + + + Corresponds to the observeOncePerRequest property of FilterSecurityInterceptor. Defaults + to "false" + + + + + + Corresponds to the shouldFilterAllDispatcherTypes property of AuthorizationFilter. Do not + work when use-authorization-manager=false. Defaults to "true". + + + + + + Prevents the jsessionid parameter from being added to rendered URLs. Defaults to "true" + (rewriting is disabled). + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + A reference to an AuthenticationManager bean + + + + + + Use this ObservationRegistry to collect metrics on various parts of the filter chain + + + + + + + + + Defines a reference to a Spring bean Id. + + + + + + The access denied page that an authenticated user will be redirected to if they request a + page which they don't have the authority to access. + + + + + + + + The access denied page that an authenticated user will be redirected to if they request a + page which they don't have the authority to access. + + + + + + + + + The request URL pattern which will be mapped to the FilterChain. + + + + + + Allows a RequestMatcher instance to be used, as an alternative to pattern-matching. + + + + + + The access configuration attributes that apply for the configured path. + + + + + + The HTTP Method for which the access configuration attributes should apply. If not + specified, the attributes will apply to any method. + + + + + + + + + + + + + + + + + + Used to specify that a URL must be accessed over http or https, or that there is no + preference. The value should be "http", "https" or "any", respectively. + + + + + + The path to the servlet. This attribute is only applicable when 'request-matcher' is + 'mvc'. In addition, the value is only required in the following 2 use cases: 1) There are + 2 or more HttpServlet's registered in the ServletContext that have mappings starting with + '/' and are different; 2) The pattern starts with the same value of a registered + HttpServlet path, excluding the default (root) HttpServlet '/'. + + + + + + + + + Specifies the URL that will cause a logout. Spring Security will initialize a filter that + responds to this particular URL. Defaults to /logout if unspecified. + + + + + + Specifies the URL to display once the user has logged out. If not specified, defaults to + <form-login-login-page>/?logout (i.e. /login?logout). + + + + + + Specifies whether a logout also causes HttpSession invalidation, which is generally + desirable. If unspecified, defaults to true. + + + + + + A reference to a LogoutSuccessHandler implementation which will be used to determine the + destination to which the user is taken after logging out. + + + + + + A comma-separated list of the names of cookies which should be deleted when the user logs + out + + + + + + + Allow the RequestCache used for saving requests during the login process to be set + + + + + + + + + + + The URL that the login form is posted to. If unspecified, it defaults to /login. + + + + + + The name of the request parameter which contains the username. Defaults to 'username'. + + + + + + The name of the request parameter which contains the password. Defaults to 'password'. + + + + + + The URL that will be redirected to after successful authentication, if the user's previous + action could not be resumed. This generally happens if the user visits a login page + without having first requested a secured operation that triggers authentication. If + unspecified, defaults to the root of the application. + + + + + + Whether the user should always be redirected to the default-target-url after login. + + + + + + The URL for the login page. If no login URL is specified, Spring Security will + automatically create a login URL at GET /login and a corresponding filter to render that + login URL when requested. + + + + + + The URL for the login failure page. If no login failure URL is specified, Spring Security + will automatically create a failure login URL at /login?error and a corresponding filter + to render that login failure URL when requested. + + + + + + Reference to an AuthenticationSuccessHandler bean which should be used to handle a + successful authentication request. Should not be used in combination with + default-target-url (or always-use-default-target-url) as the implementation should always + deal with navigation to the subsequent destination + + + + + + Reference to an AuthenticationFailureHandler bean which should be used to handle a failed + authentication request. Should not be used in combination with authentication-failure-url + as the implementation should always deal with navigation to the subsequent destination + + + + + + Reference to an AuthenticationDetailsSource which will be used by the authentication + filter + + + + + + The URL for the ForwardAuthenticationFailureHandler + + + + + + The URL for the ForwardAuthenticationSuccessHandler + + + + + + + Configures authentication support using an OAuth 2.0 and/or OpenID Connect 1.0 Provider. + + + + + + + + + + Reference to the ClientRegistrationRepository + + + + + + Reference to the OAuth2AuthorizedClientRepository + + + + + + Reference to the OAuth2AuthorizedClientService + + + + + + Reference to the AuthorizationRequestRepository + + + + + + Reference to the OAuth2AuthorizationRequestResolver + + + + + + Reference to the authorization RedirectStrategy + + + + + + Reference to the OAuth2AccessTokenResponseClient + + + + + + Reference to the GrantedAuthoritiesMapper + + + + + + Reference to the OAuth2UserService + + + + + + Reference to the OpenID Connect OAuth2UserService + + + + + + The URI where the filter processes authentication requests + + + + + + The URI to send users to login + + + + + + Reference to the AuthenticationSuccessHandler + + + + + + Reference to the AuthenticationFailureHandler + + + + + + Reference to the JwtDecoderFactory used by OidcAuthorizationCodeAuthenticationProvider + + + + + + + Configures OAuth 2.0 Client support. + + + + + + + + + + + + + Reference to the ClientRegistrationRepository + + + + + + Reference to the OAuth2AuthorizedClientRepository + + + + + + Reference to the OAuth2AuthorizedClientService + + + + + + + Configures OAuth 2.0 Authorization Code Grant. + + + + + + + + + + Reference to the AuthorizationRequestRepository + + + + + + Reference to the authorization RedirectStrategy + + + + + + Reference to the OAuth2AuthorizationRequestResolver + + + + + + Reference to the OAuth2AccessTokenResponseClient + + + + + + + Container element for client(s) registered with an OAuth 2.0 or OpenID Connect 1.0 + Provider. + + + + + + + + + + + + Represents a client registered with an OAuth 2.0 or OpenID Connect 1.0 Provider. + + + + + + + + + + The ID that uniquely identifies the client registration. + + + + + + The client identifier. + + + + + + The client secret. + + + + + + The method used to authenticate the client with the provider. The supported values are + client_secret_basic, client_secret_post and none (public clients). + + + + + + + + + + + + + + + The OAuth 2.0 Authorization Framework defines four Authorization Grant types. The + supported values are authorization_code, client_credentials and password. + + + + + + + + + + + + + The client’s registered redirect URI that the Authorization Server redirects the + end-user’s user-agent to after the end-user has authenticated and authorized access to the + client. + + + + + + A comma-separated list of scope(s) requested by the client during the Authorization + Request flow, such as openid, email, or profile. + + + + + + A descriptive name used for the client. The name may be used in certain scenarios, such as + when displaying the name of the client in the auto-generated login page. + + + + + + A reference to the associated provider. May reference a 'provider' element or use one of + the common providers (google, github, facebook, okta). + + + + + + + The configuration information for an OAuth 2.0 or OpenID Connect 1.0 Provider. + + + + + + + + + + The ID that uniquely identifies the provider. + + + + + + The Authorization Endpoint URI for the Authorization Server. + + + + + + The Token Endpoint URI for the Authorization Server. + + + + + + The UserInfo Endpoint URI used to access the claims/attributes of the authenticated + end-user. + + + + + + The authentication method used when sending the access token to the UserInfo Endpoint. The + supported values are header, form and query. + + + + + + + + + + + + + The name of the attribute returned in the UserInfo Response that references the Name or + Identifier of the end-user. + + + + + + The URI used to retrieve the JSON Web Key (JWK) Set from the Authorization Server, which + contains the cryptographic key(s) used to verify the JSON Web Signature (JWS) of the ID + Token and optionally the UserInfo Response. + + + + + + The URI used to discover the configuration information for an OAuth 2.0 or OpenID Connect + 1.0 Provider. + + + + + + + Configures authentication support as an OAuth 2.0 Resource Server. + + + + + + + + + + + + + + Reference to an AuthenticationManagerResolver + + + + + + Reference to a BearerTokenResolver + + + + + + Reference to a AuthenticationEntryPoint + + + + + + Reference to a AuthenticationConverter + + + + + + + Configures JWT authentication + + + + + + + + + + The URI to use to collect the JWK Set for verifying JWTs + + + + + + Reference to a JwtDecoder + + + + + + Reference to a Converter<Jwt, AbstractAuthenticationToken> + + + + + + + Configuration Opaque Token authentication + + + + + + + + + + The URI to use to introspect opaque token attributes + + + + + + The Client ID to use to authenticate the introspection request + + + + + + The Client secret to use to authenticate the introspection request + + + + + + Reference to an OpaqueTokenIntrospector + + + + + + Reference to an OpaqueTokenAuthenticationConverter responsible for converting successful + introspection result into an Authentication. + + + + + + + + + Reference to the RelyingPartyRegistrationRepository + + + + + + Reference to the Saml2AuthenticationRequestRepository + + + + + + Reference to the Saml2AuthenticationRequestResolver + + + + + + Reference to the AuthenticationConverter + + + + + + The URI where the filter processes authentication requests + + + + + + The URI to send users to login + + + + + + Reference to the AuthenticationSuccessHandler + + + + + + Reference to the AuthenticationFailureHandler + + + + + + Reference to the AuthenticationManager + + + + + + + + + The URL by which the relying or asserting party can trigger logout + + + + + + The URL by which the asserting party can send a SAML 2.0 Logout Request + + + + + + The URL by which the asserting party can send a SAML 2.0 Logout Response + + + + + + Reference to the RelyingPartyRegistrationRepository + + + + + + Reference to the Saml2LogoutRequestValidator + + + + + + Reference to the Saml2LogoutRequestResolver + + + + + + Reference to the Saml2LogoutRequestRepository + + + + + + Reference to the Saml2LogoutResponseValidator + + + + + + Reference to the Saml2LogoutResponseResolver + + + + + + + Container element for relying party(ies) registered with a SAML 2.0 identity provider + + + + + + + + + + + + + + The identifier by which to refer to the repository in other beans + + + + + + + Represents a relying party registered with a SAML 2.0 identity provider + + + + + + + + + + + + + + The ID that uniquely identifies the relying party registration. + + + + + + The location of the Identity Provider's metadata. + + + + + + The relying party's EntityID + + + + + + The Assertion Consumer Service Location + + + + + + The Assertion Consumer Service Binding + + + + + + A reference to the associated asserting party. + + + + + + The relying party <a + href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService + Location</a> + + + + + + The relying party <a + href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService + Response Location</a> + + + + + + The relying party <a + href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService + Binding</a> + + + + + + + The relying party's signing credential + + + + + + + + + + The private key location + + + + + + The certificate location + + + + + + + The relying party's decryption credential + + + + + + + + + + The private key location + + + + + + The certificate location + + + + + + + The configuration metadata of the Asserting party + + + + + + + + + + + + + + A unique identifier of the asserting party. + + + + + + The asserting party's EntityID. + + + + + + Indicates the asserting party's preference that relying parties should sign the + AuthnRequest before sending + + + + + + The <a + href="https://www.oasis-open.org/committees/download.php/51890/SAML%20MD%20simplified%20overview.pdf#2.5%20Endpoint">SingleSignOnService</a> + Location. + + + + + + The <a + href="https://www.oasis-open.org/committees/download.php/51890/SAML%20MD%20simplified%20overview.pdf#2.5%20Endpoint">SingleSignOnService</a> + Binding. + + + + + + A comma separated list of org.opensaml.saml.ext.saml2alg.SigningMethod Algorithms for this + asserting party, in preference order. + + + + + + The asserting party <a + href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService + Location</a> + + + + + + The asserting party <a + href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService + Response Location</a> + + + + + + The asserting party <a + href="https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf#page=7">SingleLogoutService + Binding</a> + + + + + + + The relying party's verification credential + + + + + + + + + + The private key location + + + + + + The certificate location + + + + + + + The asserting party's encryption credential + + + + + + + + + + The private key location + + + + + + The certificate location + + + + + + + Used to explicitly configure a FilterChainProxy instance with a FilterChainMap + + + + + + + + + + + + + Defines the strategy use for matching incoming requests. Currently the options are 'mvc' + (for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions + and 'ciRegex' for case-insensitive regular expressions. + + + + + + + + + + + + + + + Used within to define a specific URL pattern and the list of filters which apply to the + URLs matching that pattern. When multiple filter-chain elements are assembled in a list in + order to configure a FilterChainProxy, the most specific patterns must be placed at the + top of the list, with most general ones at the bottom. + + + + + + + + + + The request URL pattern which will be mapped to the FilterChain. + + + + + + Allows a RequestMatcher instance to be used, as an alternative to pattern-matching. + + + + + + A comma separated list of bean names that implement Filter that should be processed for + this FilterChain. If the value is none, then no Filters will be used for this FilterChain. + + + + + + + + The request URL pattern which will be mapped to the FilterChain. + + + + + + + + Allows a RequestMatcher instance to be used, as an alternative to pattern-matching. + + + + + + + Used to explicitly configure a FilterSecurityMetadataSource bean for use with a + FilterSecurityInterceptor. Usually only needed if you are configuring a FilterChainProxy + explicitly, rather than using the <http> element. The intercept-url elements used should + only contain pattern, method and access attributes. Any others will result in a + configuration error. + + + + + + + Specifies the access attributes and/or filter list for a particular set of URLs. + + + + + + + + + + + + + + Enables the use of expressions in the 'access' attributes in <intercept-url> elements + rather than the traditional list of configuration attributes. Defaults to 'true'. If + enabled, each attribute should contain a single boolean expression. If the expression + evaluates to 'true', access will be granted. + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + Defines the strategy use for matching incoming requests. Currently the options are 'mvc' + (for Spring MVC matcher), 'ant' (for ant path patterns), 'regex' for regular expressions + and 'ciRegex' for case-insensitive regular expressions. + + + + + + + + + + + + + + + + + Sets the AuthenticationEntryPoint which is used by the BasicAuthenticationFilter. + + + + + + Reference to an AuthenticationDetailsSource which will be used by the authentication + filter + + + + + + + Adds support for the password management. + + + + + + + + + + The change password page. Defaults to "/change-password". + + + + + + + + + Specifies that SessionAuthenticationStrategy must be explicitly invoked. Default false + (i.e. SessionManagementFilter will implicitly invoke SessionAuthenticationStrategy). + + + + + + Indicates how session fixation protection will be applied when a user authenticates. If + set to "none", no protection will be applied. "newSession" will create a new empty + session, with only Spring Security-related attributes migrated. "migrateSession" will + create a new session and copy all session attributes to the new session. In Servlet 3.1 + (Java EE 7) and newer containers, specifying "changeSessionId" will keep the existing + session and use the container-supplied session fixation protection + (HttpServletRequest#changeSessionId()). Defaults to "changeSessionId" in Servlet 3.1 and + newer containers, "migrateSession" in older containers. Throws an exception if + "changeSessionId" is used in older containers. + + + + + + + + + + + + + + The URL to which a user will be redirected if they submit an invalid session indentifier. + Typically used to detect session timeouts. + + + + + + Allows injection of the InvalidSessionStrategy instance used by the + SessionManagementFilter + + + + + + Allows injection of the SessionAuthenticationStrategy instance used by the + SessionManagementFilter + + + + + + Defines the URL of the error page which should be shown when the + SessionAuthenticationStrategy raises an exception. If not set, an unauthorized (401) error + code will be returned to the client. Note that this attribute doesn't apply if the error + occurs during a form-based login, where the URL for authentication failure will take + precedence. + + + + + + + + + The maximum number of sessions a single authenticated user can have open at the same time. + Defaults to "1". A negative value denotes unlimited sessions. + + + + + + Allows injection of the SessionLimit instance used by the + ConcurrentSessionControlAuthenticationStrategy + + + + + + The URL a user will be redirected to if they attempt to use a session which has been + "expired" because they have logged in again. + + + + + + Allows injection of the SessionInformationExpiredStrategy instance used by the + ConcurrentSessionFilter + + + + + + Specifies that an unauthorized error should be reported when a user attempts to login when + they already have the maximum configured sessions open. The default behaviour is to expire + the original session. If the session-authentication-error-url attribute is set on the + session-management URL, the user will be redirected to this URL. + + + + + + Allows you to define an alias for the SessionRegistry bean in order to access it in your + own configuration. + + + + + + Allows you to define an external SessionRegistry bean to be used by the concurrency + control setup. + + + + + + + + + The "key" used to identify cookies from a specific token-based remember-me application. + You should set this to a unique value for your application. If unset, it will default to a + random value generated by SecureRandom. + + + + + + Reference to a PersistentTokenRepository bean for use with the persistent token + remember-me implementation. + + + + + + A reference to a DataSource bean + + + + + + + A reference to a user-service (or UserDetailsService bean) Id + + + + + + Exports the internally defined RememberMeServices as a bean alias, allowing it to be used + by other beans in the application context. + + + + + + Determines whether the "secure" flag will be set on the remember-me cookie. If set to + true, the cookie will only be submitted over HTTPS (recommended). By default, secure + cookies will be used if the request is made on a secure connection. + + + + + + The period (in seconds) for which the remember-me cookie should be valid. + + + + + + Reference to an AuthenticationSuccessHandler bean which should be used to handle a + successful remember-me authentication. + + + + + + The name of the request parameter which toggles remember-me authentication. Defaults to + 'remember-me'. + + + + + + The name of cookie which store the token for remember-me authentication. Defaults to + 'remember-me'. + + + + + + + + Reference to a PersistentTokenRepository bean for use with the persistent token + remember-me implementation. + + + + + + + + Allows a custom implementation of RememberMeServices to be used. Note that this + implementation should return RememberMeAuthenticationToken instances with the same "key" + value as specified in the remember-me element. Alternatively it should register its own + AuthenticationProvider. It should also implement the LogoutHandler interface, which will + be invoked when a user logs out. Typically the remember-me cookie would be removed on + logout. + + + + + + + + + + + + The key shared between the provider and filter. This generally does not need to be set. If + unset, it will default to a random value generated by SecureRandom. + + + + + + The username that should be assigned to the anonymous request. This allows the principal + to be identified, which may be important for logging and auditing. if unset, defaults to + "anonymousUser". + + + + + + The granted authority that should be assigned to the anonymous request. Commonly this is + used to assign the anonymous request particular roles, which can subsequently be used in + authorization decisions. If unset, defaults to "ROLE_ANONYMOUS". + + + + + + With the default namespace setup, the anonymous "authentication" facility is automatically + enabled. You can disable it using this property. + + + + + + + + + + The http port to use. + + + + + + + + The https port to use. + + + + + + + + + The regular expression used to obtain the username from the certificate's subject. + Defaults to matching on the common name using the pattern "CN=(.*?),". + + + + + + A reference to a user-service (or UserDetailsService bean) Id + + + + + + Reference to an AuthenticationDetailsSource which will be used by the authentication + filter + + + + + + Reference to an X509PrincipalExtractor which will be used by the authentication filter + + + + + + + Adds a J2eePreAuthenticatedProcessingFilter to the filter chain to provide integration + with container authentication. + + + + + + + + + + A comma-separate list of roles to look for in the incoming HttpServletRequest. + + + + + + A reference to a user-service (or UserDetailsService bean) Id + + + + + + + Registers the AuthenticationManager instance and allows its list of + AuthenticationProviders to be defined. Also allows you to define an alias to allow you to + reference the AuthenticationManager in your own beans. + + + + + + + Indicates that the contained user-service should be used as an authentication source. + + + + + + + + element which defines a password encoding strategy. Used by an authentication provider to + convert submitted passwords to hashed versions, for example. + + + + + + + + + + + + + Sets up an ldap authentication provider + + + + + + + Specifies that an LDAP provider should use an LDAP compare operation of the user's + password to authenticate the user + + + + + + + element which defines a password encoding strategy. Used by an authentication provider to + convert submitted passwords to hashed versions, for example. + + + + + + + + + + + + + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + An alias you wish to use for the AuthenticationManager bean (not required it you are using + a specific id) + + + + + + If set to true, the AuthenticationManger will attempt to clear any credentials data in the + returned Authentication object, once the user has been authenticated. + + + + + + Use this ObservationRegistry to collect metrics on various parts of the filter chain + + + + + + + + + Defines a reference to a Spring bean Id. + + + + + + A reference to a user-service (or UserDetailsService bean) Id + + + + + + + Creates an in-memory UserDetailsService from a properties file or a list of "user" child + elements. Usernames are converted to lower-case internally to allow for case-insensitive + lookups, so this should not be used if case-sensitivity is required. + + + + + + + Represents a user in the application. + + + + + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + + + + + The location of a Properties file where each line is in the format of + username=password,grantedAuthority[,grantedAuthority][,enabled|disabled] + + + + + + + + + The username assigned to the user. + + + + + + The password assigned to the user. This may be hashed if the corresponding authentication + provider supports hashing (remember to set the "hash" attribute of the "user-service" + element). This attribute be omitted in the case where the data will not be used for + authentication, but only for accessing authorities. If omitted, the namespace will + generate a random value, preventing its accidental use for authentication. Cannot be + empty. + + + + + + One of more authorities granted to the user. Separate authorities with a comma (but no + space). For example, "ROLE_USER,ROLE_ADMINISTRATOR" + + + + + + Can be set to "true" to mark an account as locked and unusable. + + + + + + Can be set to "true" to mark an account as disabled and unusable. + + + + + + + Causes creation of a JDBC-based UserDetailsService. + + + + + + A bean identifier, used for referring to the bean elsewhere in the context. + + + + + + + + + + The bean ID of the DataSource which provides the required tables. + + + + + + Defines a reference to a cache for use with a UserDetailsService. + + + + + + An SQL statement to query a username, password, and enabled status given a username. + Default is "select username,password,enabled from users where username = ?" + + + + + + An SQL statement to query for a user's granted authorities given a username. The default + is "select username, authority from authorities where username = ?" + + + + + + An SQL statement to query user's group authorities given a username. The default is + "select g.id, g.group_name, ga.authority from groups g, group_members gm, + group_authorities ga where gm.username = ? and g.id = ga.group_id and g.id = gm.group_id" + + + + + + A non-empty string prefix that will be added to role strings loaded from persistent + storage (e.g. "ROLE_"). Use the value "none" for no prefix in cases where the default is + non-empty. + + + + + + + Element for configuration of the CsrfFilter for protection against CSRF. It also updates + the default RequestCache to only replay "GET" requests. + + + + + + + + + + Specifies if csrf protection should be disabled. Default false (i.e. CSRF protection is + enabled). + + + + + + The RequestMatcher instance to be used to determine if CSRF should be applied. Default is + any HTTP method except "GET", "TRACE", "HEAD", "OPTIONS" + + + + + + The CsrfTokenRepository to use. The default is HttpSessionCsrfTokenRepository wrapped by + LazyCsrfTokenRepository. + + + + + + The CsrfTokenRequestHandler to use. The default is CsrfTokenRequestAttributeHandler. + + + + + + + Element for configuration of the HeaderWritersFilter. Enables easy setting for the + X-Frame-Options, X-XSS-Protection and X-Content-Type-Options headers. + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies if the default headers should be disabled. Default false. + + + + + + Specifies if headers should be disabled. Default false. + + + + + + + Adds support for HTTP Strict Transport Security (HSTS) + + + + + + + + + + Specifies if HTTP Strict Transport Security (HSTS) should be disabled. Default false. + + + + + + Specifies if subdomains should be included. Default true. + + + + + + Specifies the maximum amount of time the host should be considered a Known HSTS Host. + Default one year. + + + + + + The RequestMatcher instance to be used to determine if the header should be set. Default + is if HttpServletRequest.isSecure() is true. + + + + + + Specifies if preload should be included. Default false. + + + + + + + Element for configuration of CorsFilter. A CorsConfigurationSource must be specified. If + Spring MVC is present, then it will attempt to look up its `CorsConfigurationSource`. + + + + + + + + + + Defines a reference to a Spring bean Id. + + + + + + Specifies a bean id that is a CorsConfigurationSource used to construct the CorsFilter to + use + + + + + + + Adds support for HTTP Public Key Pinning (HPKP). + + + + + + + + + + + + + + + + + + The list with pins + + + + + + + + + + + A pin is specified using the base64-encoded SPKI fingerprint as value and the + cryptographic hash algorithm as attribute + + + + + + The cryptographic hash algorithm + + + + + + + + + Specifies if HTTP Public Key Pinning (HPKP) should be disabled. Default false. + + + + + + Specifies if subdomains should be included. Default false. + + + + + + Sets the value for the max-age directive of the Public-Key-Pins header. Default 60 days. + + + + + + Specifies if the browser should only report pin validation failures. Default true. + + + + + + Specifies the URI to which the browser should report pin validation failures. + + + + + + + Adds support for Content Security Policy (CSP) + + + + + + + + + + The security policy directive(s) for the Content-Security-Policy header or if report-only + is set to true, then the Content-Security-Policy-Report-Only header is used. + + + + + + Set to true, to enable the Content-Security-Policy-Report-Only header for reporting policy + violations only. Defaults to false. + + + + + + + Adds support for Referrer Policy + + + + + + + + + + The policies for the Referrer-Policy header. + + + + + + + + + + + + + + + + + + + Adds support for Feature Policy + + + + + + + + + + The security policy directive(s) for the Feature-Policy header. + + + + + + + Adds support for Permissions Policy + + + + + + + + + + The policies for the Permissions-Policy header. + + + + + + + Adds Cache-Control no-cache, no-store, must-revalidate, Pragma no-cache, and Expires 0 for + every request + + + + + + + + + + Specifies if Cache Control should be disabled. Default false. + + + + + + + Enable basic clickjacking support for newer browsers (IE8+), will set the X-Frame-Options + header. + + + + + + + + + + If disabled, the X-Frame-Options header will not be included. Default false. + + + + + + Specify the policy to use for the X-Frame-Options-Header. + + + + + + + + + + + + + Specify the strategy to use when ALLOW-FROM is chosen. + + + + + + + + + + + + + Defines a reference to a Spring bean Id. + + + + + + Specify a value to use for the chosen strategy. + + + + + + Specify the request parameter to use for the origin when using a 'whitelist' or 'regexp' + based strategy. Default is 'from'. Deprecated ALLOW-FROM is an obsolete directive that no + longer works in modern browsers. Instead use Content-Security-Policy with the <a + href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors">frame-ancestors</a> + directive. + + + + + + + Enable basic XSS browser protection, supported by newer browsers (IE8+), will set the + X-XSS-Protection header. + + + + + + + + + + disable the X-XSS-Protection header. Default is 'false' meaning it is enabled. + + + + + + Specify the value for the X-Xss-Protection header. Defaults to "0". + + + + + + + + + + + + + + Add a X-Content-Type-Options header to the resopnse. Value is always 'nosniff'. + + + + + + + + + + If disabled, the X-Content-Type-Options header will not be included. Default false. + + + + + + + Adds support for Cross-Origin-Opener-Policy header + + + + + + + + + + The policies for the Cross-Origin-Opener-Policy header. + + + + + + + + + + + + + + Adds support for Cross-Origin-Embedder-Policy header + + + + + + + + + + The policies for the Cross-Origin-Embedder-Policy header. + + + + + + + + + + + + + + Adds support for Cross-Origin-Resource-Policy header + + + + + + + + + + The policies for the Cross-Origin-Resource-Policy header. + + + + + + + + + + + + + + Add additional headers to the response. + + + + + + + + + + The name of the header to add. + + + + + + The value for the header. + + + + + + Defines a reference to a Spring bean Id. + + + + + + + + Used to indicate that a filter bean declaration should be incorporated into the security + filter chain. + + + + + + + + + + + The filter immediately after which the custom-filter should be placed in the chain. This + feature will only be needed by advanced users who wish to mix their own filters into the + security filter chain and have some knowledge of the standard Spring Security filters. The + filter names map to specific Spring Security implementation filters. + + + + + + The filter immediately before which the custom-filter should be placed in the chain + + + + + + The explicit position at which the custom-filter should be placed in the chain. Use if you + are replacing a standard filter. + + + + + + + + The filter immediately after which the custom-filter should be placed in the chain. This + feature will only be needed by advanced users who wish to mix their own filters into the + security filter chain and have some knowledge of the standard Spring Security filters. The + filter names map to specific Spring Security implementation filters. + + + + + + + + The filter immediately before which the custom-filter should be placed in the chain + + + + + + + + The explicit position at which the custom-filter should be placed in the chain. Use if you + are replacing a standard filter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/src/test/java/org/springframework/security/config/SecurityNamespaceHandlerTests.java b/config/src/test/java/org/springframework/security/config/SecurityNamespaceHandlerTests.java index c11c48b10d..b8496da3e6 100644 --- a/config/src/test/java/org/springframework/security/config/SecurityNamespaceHandlerTests.java +++ b/config/src/test/java/org/springframework/security/config/SecurityNamespaceHandlerTests.java @@ -114,7 +114,7 @@ public class SecurityNamespaceHandlerTests { "", "3.0.3", null)) .withMessageContaining( - "You cannot use any XSD older than spring-security-7.1.xsd. Either change to spring-security.xsd or spring-security-7.1.xsd"); + "You cannot use any XSD older than spring-security-7.2.xsd. Either change to spring-security.xsd or spring-security-7.2.xsd"); } // SEC-1868 diff --git a/config/src/test/java/org/springframework/security/config/doc/XsdDocumentedTests.java b/config/src/test/java/org/springframework/security/config/doc/XsdDocumentedTests.java index 3aa75da473..3ce8bbf9e3 100644 --- a/config/src/test/java/org/springframework/security/config/doc/XsdDocumentedTests.java +++ b/config/src/test/java/org/springframework/security/config/doc/XsdDocumentedTests.java @@ -65,7 +65,7 @@ public class XsdDocumentedTests { String schema31xDocumentLocation = "org/springframework/security/config/spring-security-3.1.xsd"; - String schemaDocumentLocation = "org/springframework/security/config/spring-security-7.1.xsd"; + String schemaDocumentLocation = "org/springframework/security/config/spring-security-7.2.xsd"; XmlSupport xml = new XmlSupport(); @@ -151,8 +151,8 @@ public class XsdDocumentedTests { .list((dir, name) -> name.endsWith(".xsd")); // @formatter:on assertThat(schemas.length) - .withFailMessage("the count is equal to 29, if not then schemaDocument needs updating") - .isEqualTo(29); + .withFailMessage("the count is equal to 30, if not then schemaDocument needs updating") + .isEqualTo(30); } /** diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.AccessDeniedException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.AccessDeniedException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..230c55308e9e22831f97fd27f52f18121fda78d8 GIT binary patch literal 16714 zcmeHOZ;V|<6`!{)OLuLdl+sdKTUsA2qP;Es2c@O3-QAYr_7B~qR4~BpeY3l_eed1J zz4NxaC`}ZIQ6p-iF=|i@#Q&0pRD;AniHcuLjPV~I2nG`TrhX*xgVFOlckbM|f8Op} zitz*OhqL$1oH^&rnKNh3oHPBwKg4BGD0TLG$D2cxlY|}PB_QgP31SFLHznd zy$AbuJpQ*B@#+-OVEq2y>-Jr@XU(q*7-N%RaMnFlmw*1v&P}_|zWCb(V&RCm%yZk3 zRN|Tu(Aol~TMXu&5wWBumFw3Jlj!aQ;VrZ9Mir*I=K;|lDc3tQ7P=l`tbHJZl5`B$ zWkWUwY-YFH+edk);R zckjP9?8eMnLWpN+Nmi#CDhzP@UjFLFU9UaaBNpu!z2iaHaMdBvU-z5xNV{=Lh9lxi zukJ?CNZ{6Fc!X9IqFgp2uBb`sz~l$fuUi+5`*mqy^*5xN3~HH{pw`adENO7d2^mIY z225zWRS}}+1tk`^t(Fou&uUboGW6ZL|ELQq8g(13x+GPuDrCO0 z%3`DDyhx9hHpja)$9)|*PP)xnowVcJ8_95#45v=}#;`aR2G~?VsKonbN6<1XBO5lO zkISfCSGF{}v^0C)mNa+8vMRB@R2JQ>CFvtciUK^Y1=!d@03-VW*CV4;VtKBGse{NW zdtUc5S%7r_*DG<=M7(zLNKlg}+v zu7|@g2+f*aW&hOETj2%GnvbpL)(?=EJlbR=n+dy&E5Iq4=hD1vHu}q2rnMbp8ff{4 zXp@t+^p{!hn{6@|j7GNOYljlOF;^Su3C-&ucy&CsM)^D&)u-5C5K8T=jE|usWsJNI z`JFA@BWn$=rCrSqOb)igkj@89oc*ed5^>3;i%D{ZTTa)`q~0i$<8`tXXUGrf&tdkq z@p{FFEZoAn&YfC>UcWgNoFNWUOqz z=6L%>aV)33g=qs!FoF_Sc-SEWO&05n9eRjOIb{6I_<>1-a0*`!6%e?YkK7Ij2XhpZ z=#LixOK&gvtBj}whl8=h&iS{RjJ(jto_DZ6V!OfDkm*q3y`8$W?XAjKLW-QVi6l}U zNLR?59yxD2=~I**dXv6KF}u0V4F+`_mpBzy78|uJm&Z;tvm~z=eYNoQ2wfs#eWjw> zT6;Q&j-OLD!hyLE&NG4%d*(S+#IlfS%#F@ah-?4U(_5`ot!H^0VNK*u$@)xnn=N9j zY>1%%+5nk3e2YZ{U?29F60?xb#Acu2kxE$SSXb+a*-(&zKYB8~ZWy$i8H;^xK4N9u z+nh6w&mnup%ZggGb;z3IeHg0Y@G}Ck&zGuq{>W>w4^AGicmkMTnAPDIaKIKz_q-x9@;ra^{ zFfZePnM2y6oab`sI9`%`YK`~#1~>|nwE~oT0JfsbgWa9RWhdq?;|FgQYLymiVC}n_BF;or^Mx&ZV9={4Mc8p7vyfK z-h6<9&%-V&qN5IIJ;7ymMZI%K3q@8NmVTpH>sAXLW!A6QHX-cyOZ3un8xdY#(96In z(zolW#4O1Hcug!aqX&}~r=H`sZE_zH=0LqVK$qounL z{GK77A*U!CMYn}f`AD0b0%ZqEBoXIXl5~gsq6DeZml1bSLb(LBXPV^PP>{1=ofyhC z^n3{svPra_H%J{e8~VQs@I8PItB9^x(fE1^!1j&gC3@`DK>trmkZ1wW`f~twC1r}5 zzcxYcmnG~-k7)fhz{Tn5o!e_&QChx_3}9ty06JKvOLbJ;Mggz&TW^$p70wLQrYJ+s zIlkQDEI+`C_yZL2M}T+PGNYQX8}sG>FbN)#h>`Yx5;fQnqmvtepP6ukbxIKq!>-c)3Ali9@kVd=b?8(g;VCSzCAoy{cLVR;T z^Wy+d06b|U@Q%wx+@G`&=9D2Hz;tQckE-SGoJSO$#tQ&pT*=i>}wLF7GI1UJ;tPl?F2zi@Mux zdXtp!rvk8a;&NborKF?tDCMBY@#<^C^|SQqGj)mN#IB4n?G<>FWgt-L1L!9wGmeT| z7&9vw@w40r{4|~lKBqAk!u}jWT0GZcW)pPZDWI=7>#IpC2|LPnP*c@{5CgeE_?eON zQ;eX*){>RaDqp7Yrn+RQcUE#Pb zKdq`NN}fiJqJ2w~h|82_x8Hp)6)lhHnq?d|jnjo6H8=AVqpCyYu}Rs~n=^|!NHKN0 zAxRtW?}i>Lf!?%mp)QIjAjpz4+X*xKC?dqlMu1I}){oy@Rkv<6nIRyxY5JUV{9jC8 zvtAgfpp~o|nBGB5_jjlB(Kh8;vXeC0rOW+n-HF9iHYdE1PMYMnc`xkXc7S~Vb_j;s zFgjpP>S!}ju;U_PHYJNn!z?&?TUP0=Z5{u$+?r1ZS3)I#SH7PWM4y?0o~GyjoL;QB~sW-u4a?Ch2*H*3b5PmTu&0*GV6TET9uquyl>-&V5ubQ zI(M3d$gn#}?AWJtoG>l)^i0BGpyswH>sC#E(}p}`YTD*y%Br$43IDWqCjLYJi2pLY zp`gt)J+sZJ^3YwZq0O{k(k}fd46F1j8pKZ<=iV-O@kp@%Z1+C?tZt_?QTkJ_(}J*_ zv4eBDRhY#e6*yo?4=AxlAIX%CI!rl8db8M!O9Xg+XRr7KPxcTGBanJdO!bc0I&UQ@ z`QoYdKsw|XoyKalY*crv*XW%mtTuLl^bxB=iR((+&1xAx4rv}Gh99zwb9RQKGm(;w z0lbilA3azmn{eMWHTF z#r|R$UpA`!Ul_ie$R(yzUth7uZiS z70EKB6fy{>F(ilZ0h@)1bOi@64)C|w2%JXCQ7|PXSlP>l#ddtL<}(NvN)UG0ES@k3 zI11tf)olsFJ9ko&u==qVxbWuSnzwDo`i&M4;EV*DiH)FNSD|kN;4nbuB?O=4tgxf# zI|gu1G8-t2b0mx~ioUS|LYnTuUJ~~KWMa)PqJ=4>2>0789xOrlh>eiSz^D%a|6v=! zHx$z68lH{d83eYF;w;QPO}{Szent=Z2Pi=BZ5IEBM<a$S6Qvi0x zNIx1tbBFr@xsmMXjz%EL4%l_&F$bh15;4ma5ud_g#SR0hCo>s49)F9|AlF@H~L6 zBT{5nb-nIX(2d|-QKAAeB>fSCybjbi05a#urP8M0 z|NO>L6)P%@ZH%Jm7@*Q7ba$!f2D3|V4ym%{TPVJyO)@7oy^GUkHvy^subrgw$^w9e zP`4&6=<5ZzJddEufavQ3=m&U@?TX&S5Nsd|VTq0Kvm!!PhQ?e7=Bj70xXNac zFTz2Zt8E06hDa%7W%!hlVFdyz9YAK9s|<_v=-Ysw znTz{ogJ39Rr#Y((WDZm$0_C`rf-jTpL8o13LFY}0iqYBTksm}mF4k!+0-bS+6*uzA z)=cL+mwo}8!z{xN;=p;4%1&FrHQad%*dq^=EeXs~F97~t0AydXBTq6}1TmF638cxI zIQ5S9{fvUesSIXP>}WxvsDdkan()L_&heN-rt@xlDi@Q^2E`))oIWx(4xW!P&ys8} eI=e^(gDNsc6{M8X>A<#48pA^PaEtjpF#TU`g!>o( literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.AuthorizationServiceException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.AuthorizationServiceException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..50491ba3f0fe987d88a0b15d51da26da494bc4f2 GIT binary patch literal 16794 zcmeHOeT-ejb)UDG#a=KN$6#z6jNxGeDR*sy4aQ(t@2)?Bzp}eFF64vj`(}5q{ocEe zd*`ipY2&JaRIMVVQI$l^7YZSyQHltOtQ2TbtETjyNKvGG{n0j3s`SsO|3s1c2Wrpn z%-p$iKi=+J?EZ!Q$ML%}XU^B0nK^UL?5n>OS0}L;iQ*YA>BM1sW;*s;@_ZDZ^AZ_! z<4`Sleh|nc@kY98Hj2aNd=*CRNg274%OPi@)vKcBr%)7f~|pYy$@-=6U%x@{G#l8k&cE@atHg>U;_ATfCQ^x;j)2xMm=0Uay+_3A zhE#soJW8hUX9#btgEy&Qy1h?}p+xz?xvAI>2;;V=b0}%YcvH4yTM@~1Nw?F9iJ)VE zM2R(eSXYJ3;Ui(9_Re>bXT=3E05H_)#wlfOnMunsr95!p-bWsJ_l`Z#yd#8onWp&G z%tECB{;GGrymj|~e0o5v+%E>Fqqya(!(ylzw&k&I>x_(#h#P{YpCm^jzaiseaiFW$ddc_F7>Qcn8zZF&RYMuEhFsqv5>LjFv9P4;zmAdT^Ze z+l?k!$2*zGc#<5aN$bY4I1xu!q*1KIor@zF8P<{y+tCv;={A)s&2A&jBkxI?Lt0iP zwp7Yux{V~ONRqMu&l>@@_7K3ze!vgNDV11PXkqFgveDJ+DJBbWJHQqtZk*9`Cyzx9 zdCG5g-B}s<9OEm|ON_&*YmB#NXt|IWg%+da>Xb{7gZQ$Q=q~))s>F3cEPW-9pE)ao z+@!owK*i@hu6Ab&2uj?dX-!0t()11+4|a!*@G$b69=0Bj<0!UsdZYVk)Vn!|+Kmtg zf!{npyX5gUBe_g?%eVoYQa#rcWpmNrF*4oOL#B~Vc$gMBS@~jUZ?3RoIG9-wOUa-@o@Zk6IwCytCRFehFw=^F`{3mMc2GjTY=LW!|8!V zIN=l~3pvcNy;6%3H)rfjn^o+P!$#~fY<6dC&UQN?9TuMCjloNqXc05AMz4*P?UvbN zF0)4sv-^88lk?=ISdE@0dzdCR;JA(An_`nO;WZr`A+q6e`eVasq7P0P58h%B7e?{u ztRJ@PwC9BlV&9(0kjNpkkKzcc_k=6W%YEprWE=5=H$|~x)K%m2rh)V>HW|HF@tF>B zU0$DOUI0%5oTlU4;$e*=eAI??M}53B>ek$-DM?!vZSCcesimLl%hKdm9Cx>8#(Ab8 z4Xk-i#`V;-=BUNs(LDG~+A8m`Ei@ISk;Wc3nXo9DJ{5%xEoptbt7XVqD)IQG$_hHq zC~j4zcDvtPkxs_%&ubl=xt;F5`O}a-NVO=Y1lLl=;?LI6Vrx?QBRU8{YqfR4}eF2aGO5ME~lCH7{{ zXb;N8R7ETcnWp^Y9EG^LoMo{APGN*ZxZsO#?(r+Ac932y{clRi!*c5phCA_|IQ=2B;Gp*1)6l>QRF;6X1 zOxOMDV{+Q3%jVcZ+i!(|D=Vm9DB0%s%oO0Ssu6hKqpP|T;w`o}=@U4$58?uID5p)V ze@TqJR*Wy;*B47}ejtkJ5MFM;%6ChFKFfEVd9ruIT8q?o5}FIQAEif~(tKlazO%unMUkI=yYPG1Ho9ZPf|cqGO$+EO2sXl61Q2 zPGYhxV`Ao`Y_LPLt}*@hdA2 z5P54j_D!_aofbOEoG`L| z_;xnZo9KFr*30?W?@$mo+Ixif5{YwHNt|q+b;yD{8=<4fMZVfkYF4)_(-xt)$9O%eN-T{jh=^*%7Ur#=0~+UB0!} z7o~Ok$N|=84q$?1x>P6iofPmo-)5l(RYb)@T(9QWB!0hD;ZEA5_`ieQyY`W|( zTD(ld_otO%h~EPAZ&YCa_Z4fFFI#o%RoeUT`8n564={ofTq;>c?xolLlyXA7x~jLI zhm8Q^%e;e@xR`p~t<@cs%xl6hchX=sW6|`x?O>J?{!{>#o-POKDCV7!SOx;MA%JUXlbJ@vE!NB`MsPHQEyaugf!vnfLd#+Z`wIwJ z@!W`+Ptbk4gnsk+P|Z3?*h#*F+Nu^dK3#;Qk-en+3#O{X_KKO$8{ecDj+hyts!^e( za&~p@fz7ZUV%!3LIXg920`&Dj(C2)0Myn`dQ_gTnB$IOem@GC{3#y|7C3Y=o32Sn? zie`*9R5hopYHM9@+rTO-acoIeT&V2$YIdX<&b0BuWpq{s=N!hCE3VEvmxZ4SC;reC z?mjyon=vW3<1;s5Htwoz0>TG#2;_6($8<*jDO8(@eR^Ht`JFJUswzsJCZ3{oOG@Z6 zrCseGK1oH(6Q*XV!=`Dv@T2BtpJLQas5~_*+h%d*F-Iw;?zSXZDc6!$(pr};_ltF>9#ivD-bg3Sa@_nV{9qqIsX9$aRN+R~D8N`H60|ry{e1KizA(Eqpg;9Ih?c72VJh-Sni&cy%HKjOa@ZzyOn%`fcq>O6EeTgapJ zl69F!VVI>K(jb1?xb$+t3rdOw;JZ)q&-(q8Cdxj|JY5xcbAE84Fbj+9Mn}d?H!uE*_PhDcJk=uf0daeSpW||=?^;sl zBKJ5?KRU!X9M^)6>)Tuk&!d?y z$9&dr!Do&_@p&H*?sO=a_k3u+3t%h2HV2{f91jS&H+IW@ga-`#5`qtOw#NzdeFR`4)dm*T&uh>;1#q&2kfnRD zmc(g*T&($dv@nYd;c1se@$C=rKjtE2GJFDk&j8TFX1l_KepiF$z#`;o+T6@COaq~; zg}tYl_a(r}*ngq*1_|DzLdqzEyygMMs+X8p#G2d17wdZ7a z?JogT6}9>*u~0=GU#Z|pdZ2eqC^E` zNcsbSzXN!m)tCC6mcG1zismrkn*eVCTq(C+!ZPp2$En;3JO32mX8=D3D6G3HHPmtq z6=wQXx;^70;$WJO>>kGi8=4V*jlt#0<(1N=;6Hv-Fb^9li*4+IOZyF#Hi2=a=mxjT zZVs8TmRl&kVoh=N3G_(M?bIpO?daSAU^{VRxtxUx5Z^_B^CGp~t_+)4z=wc= zsmPZEmZ%p1|4{%`Qt~5DGg$;NHTE)_LC~ppw2v|h&g|M)F2#-(+`c&}oh3YB&I>#S zw}0LFgsaM>q_aWsIKT-4*&+bX=a^?jwilg!q=G^9NdTmjGIikFHjUvRJk?=-AD#a{ D^gAIJ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.SecurityConfig.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.SecurityConfig.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ae659612d7304086cc379fafb84075a5e5d1f7db GIT binary patch literal 109 zcmZ4UmVvdnh`}hoC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflF*!N4xL7Y3%6HDs zOUq23^C9;|nf9jwCI&_y2DZeKlA_F{5(Xikti-ZJ{hY+Sbp2qUP+q!qML`JzYguAW GX(|8>RVfkx literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.hierarchicalroles.CycleInRoleHierarchyException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.access.hierarchicalroles.CycleInRoleHierarchyException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..61358cfa84faf3c27cb5772f3d84450447cd1344 GIT binary patch literal 11283 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 PM?%Wv@d;G}Wy|spgi6*U literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AccountExpiredException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AccountExpiredException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7e07afe877c250a09dd0e5e210901d1971d26f6b GIT binary patch literal 17023 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 OEQF7@nBOO6TYmsQ)Ps`% literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AnonymousAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.AnonymousAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e8872447c4e4b79e806c9228b3fd7a09c546b6fa GIT binary patch literal 787 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.BadCredentialsException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.BadCredentialsException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..274668f3a9e63ec0371eabad62475d4d75487b87 GIT binary patch literal 16943 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 d_E96om=^&q12|Z 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 LE#~*ph1UN97YBtU literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.DisabledException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.DisabledException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..72fde5bb6aff18e119180bdfbb714ecec9d1e52b GIT binary patch literal 17018 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 J_rZnM{{We6fTjQd literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ProviderNotFoundException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ProviderNotFoundException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..aae3d1eb8ef3cbc6909ee380575d5299569cac4f GIT binary patch literal 11398 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 PfA!@*!$Gwbw1WQvPeCRA literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.RememberMeAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.RememberMeAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..6a1c85c45613b871c8e3815758e06a0cf6813f54 GIT binary patch literal 1200 zcmb7@zi$&U6vy9P0-@0K2M8pFGPQ^ST?A{Vw3If|K~d5OsYq1L-D~RR&OU61UO-f3 zVgm_;1VZo!AXfec1}0$UKcF)U1J9SzO8~X1htt`9e*S#l`})H!9McMFQnfvuC@$LT zip97kRmam9bQL!}k9Exk3c~|txD;L;V~ks z<_>tmA_J%WO?IDEA|~3E<<=$!W;Ru@coc+cOB=-k^B;h3?=NkO#c<4p!YY&p&@uGk zl$}cw#ZenL*9Yku9#!UL6cGvOoAsd-qG3GJ_h1{GG;ydx7cH}AL%lpyPd7y@L%z;g zD?*=Z^J{$O%Eup1CtPrRC`PnmU}E4J8)Ma8K0IB1&G|Xl`F!{1g)FHPSgJyr5Y(AG zOI0b>v)R+fU#DJwVs8uJ)S#&O156X@iL+I-Uph2*V4(x4Fl)H2QqODfIEipkF<~&Y z)y|glCR>$CMmXHnhOthXO%nqn^<{ryt=U+prZl z`cPIFOM}%gRH(Dgjgsv&{ZmhCp}l<60v+$i5!wD8IPcbo>*|4ASz)>w)t)!JCjI9G zrB#?@K_I)r+>~M=O}N5v6(;gEUj`k!bT*(J`G*(s8feI#ClaPL zJ<+}>np-SE&vs9wLxc3pD`X<|kJaB1L_Fb?e2; w-6wYn6lI-v{phut-nY-Zj1#7qkpuOkw0(zK4dv9p*h3*@^5~CL14XOyH(S7)F#rGn literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.TestingAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.TestingAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..daa0a4b41e2c6123fb4cbbd1c47deeb89956f501 GIT binary patch literal 534 zcmb7>Jx&8L5Jo49fFKkK3MgqPs5S?HCgLX`twcd2Bs%YU2u_@}@ywEhf}_wPAxaAF zLC+1i17o%zi4YR5Y|mJJ@0*uTSf&6cF7#9K!Ib^$phh@$VVDvYRWLkFRmC@0vMCfB zSEfBAmd4K9ZO;v{gnBg+NHSP20_yloSz_4C2I@|=tt$KN^L&5>?`NLbewihZwUZsfoy$j{MDuXIQD<@l1`O=@pU8Tg$d045f_!3+=PK Ab^rhX literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.UsernamePasswordAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.UsernamePasswordAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..c54f152cfccd18910f7b07d723e685d9f72d7c9c GIT binary patch literal 1118 zcmb7D&uddL9RK#UvlH2Lf{F+AGQoqqg4cQJX05`*j&((-prmvI3Mkj z=cFQt>{c3`T}Itn1gHII$~6(sU=Iod1ND<2s&=e1gt|kJ{Q7cZPuAn*0E%r`nqk6X zMCSJjIdX=`E{>64vPGcb>`XJ8Dp4JcFC|rIaZBh!|VZVo6fuGwY7MMMDE8P z|KdP9I5mFfX6_s;c$+L@y>%p3stgNLjKD;cEDkxUavN3%r7D%~fs(a>=Ge6j=kl{i z(VjoLFcXW}(lV2zBmTGN?2J84=2Nq%Ckf1m;oigY$(#@^;6gsv5BI7i6BY9v?uTK& z(UrG9-+UakykiD#9{(oy{qj1DemwqrHGo0{1?s04GuK!0F58CrDZf8#zI(s_`cZL` zi@PV+de!H`hjzH35={(o%H;ZE-1;TldgANHH=llhVc6t}7OZZFbS(SQ*@(O`QY#rH frrKh5wi;3GNvm1g8aP;fDV5T%riM5uc`yC}AAy9X literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e8ed05c70aac2f62bc3bd1eef28c29d645892ab0 GIT binary patch literal 11885 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureCredentialsExpiredEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureCredentialsExpiredEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..982c464c30e36c670d6cd98074fca67a45de9c66 GIT binary patch literal 11974 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 LASljxbKZXdZR!*> literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureExpiredEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureExpiredEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..56364522b88bbf6bfabd2de5cd4ef17459ce6e33 GIT binary patch literal 11959 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureServiceExceptionEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.AuthenticationFailureServiceExceptionEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..c36f43b6e2a06e329bd4f09b685b6bb449271789 GIT binary patch literal 11894 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..10a327a5c6073006854f44ba0e9449491c9bc3a3 GIT binary patch literal 434 zcmZ4UmVvdnh#@?`C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3HLoNyIk6-& zKTj{U49L;*%qvMPN=z=vEK7Ankq<6SPEIW@b_J<=lBhIMBf`^}iGk6Ffjd1l52&Ri zHN~m2gh9|JE3qt5KPNFSUEet;vAEc}qKLtlbayx=6_b>qr literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.LogoutSuccessEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.event.LogoutSuccessEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..148e60ee9ca6340cae05446c31a5729456fa241c GIT binary patch literal 296 zcmZ4UmVvdnh`}YlC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3HLoNyIk6-& zKTj{U49L;*$xqKOEeS47PEIW@b_EH!eYP+zP|euR#K2Hd#NbQ1k&a2lB}IwJC5|Ze zfz3Xtu>9|(2HT$yvvshUot&Rnl3G!s=U7mX19d7`Yf{VW_zw5851AMky%;!4GILXl xOA>PnfKC+6N-Rs%D=o>)(F3dWPs&P7F7fH*^pnV~T>-MHfPsN={@bl{oB%g;a$o=e literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.JaasAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.JaasAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ad2a9ba8aa2f745f028a6728e0e2da89b0a71dd1 GIT binary patch literal 1205 zcmb7D&1(}u6o1*K#v-j&sNzArRPZ1h@T!-z#;7c&Gz~%oWimUBlg!SHGm|D!EV+3U z6hRQY3gXd&|AQy-tp7pJUVW1fc3VqB<}ff{@BO~!>j5lU1NW3^g;pCbTf2rNtfx#T zw2XEQcY~00-7_W~r^In3!!{u{e1KEw(Eg6<4b%s!P43b}8 zuJ6lAyb{1d1C}!au^5s0wL z(mhnN+}9kdHsD;k7b)8DTWgtEWUm&OBu(+ZJ!doa)R<4rX+25ch#0OtET7B?(Hsus zbM1Jq>M~I=-{rm;)*D`a`}57mVSW4|Zp?m@`hIBxhCiPCy%In!f*keT^CQ<+(<(cL z`7XadY`uGb@cQw>Bo}w**LvOO!iRRSsS-^LaVn!f#;un}J3R4?*~O}*$~^3!^)yxn)O@=_|LUrh~hkoR8v1Jk;r6#xJL literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.JaasGrantedAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.JaasGrantedAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..dadf8a81af7e792e1e978ffaa5e9a4349962958d GIT binary patch literal 169 zcmXwzI}XAy5JXoN2+`7U3FiQ*DEKIHfs~4JWsGrfY-_#Yb0@CG9f(1hVw!n+n)e6h znP3~q%ACjrdm-%2BhpP~qX%;Qk~r|y1a=zP#UMMxESs_Rgn`X@GtRMq@Qd&Qgo0(U rX_wG5tW}41tR`V~oTggAjG{LTt3To~*sA4nq<*Hvu-Kgrs%@Ju6u>$$ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.event.JaasAuthenticationFailedEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.jaas.event.JaasAuthenticationFailedEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..4e30d63a18e155d072442fa9656de0a02e5315da GIT binary patch literal 11511 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.DefaultOneTimeToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.DefaultOneTimeToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0b70e7f7f15c83f4f0b3afbf84311db53aa33ad7 GIT binary patch literal 258 zcmZ4UmVvdnh`~9(C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3HLoNyIk6-& zKTj{eq(sjpH7&6;r^G)mH6$}PH6%YfHSblAlBN8$jjx#)n0**HQY#8Fi&7m+N*IKF zvJ%S@^-F;2^gZ*6OA_-+tbG_*OF()`7=$3QIf;4c`oSe22LL5GN{dsA@__CrWT<0c zswe=ukQZc#9>@^A;MAh2u`Ro#l{_}_FfddUl=Ct%06|ujPbl;1lOHNd7*rBXj7?3G mQtxV~b?VloAFOkTn2bbXXSv literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.InvalidOneTimeTokenException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.ott.InvalidOneTimeTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..3ce2d941a9b68c4f26bf9ec2d22f81746fc93dd1 GIT binary patch literal 11405 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.password.CompromisedPasswordException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authentication.password.CompromisedPasswordException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ce7e792bd4a2d7506e31379db722283688287253 GIT binary patch literal 16957 zcmeHOYiu3Ib)HMfdfAd`S+b%>tVq6=T)SRUPg@T=rb$YcLp@AVvJkb2m-jAtSG=$6 z&ZS7z5b8KVYXo^V0pb>MQB-;SXj;|K57&r;qN#%h0gC>qTOeqG7V*ylK??-^6SU_$ zGdnx8yZ7=cR{zw}kE6XaXU=QRoH=u5_-Fqi?usMvLMxi{;&v1^=Vl|n5nO3S^IjZO zI#DQ>JijArK~shmUxuxw*Y@L>5USp2tI>{HjW7%VUP^uNFOyezo)IZO3-}Z4P6) z7PYSUGxgvfe|%`~kt=WgbcI+sA?~X9oj8zU^8{!Of$5OJJT@WLR|DyX_0vHd`*Vc1 z(ZZXOn3rRh#JX7emHFw&uMozAmmHL&W4s3KDGtu&^L3D=P52CD|5F4ribwK%1 z^y}6&vtd23u+}vKS!-3DmR7an;H+Bs2$slU_b#E?c29YmYkw>em;+;%>js@h)XqRG3zEQJYqelle$LBT2r@L^h`ORvb z%;TMpgJ_C8ryd4X!{S`js*opv??b&2v} zMR#jS){-Q70bbPt?CBzak^O{UA+MBTQ>KNfgUEJUuTL^rfL#E)$q(k#+y!S^)!>3( z@7S|4@D;|FqMI0}64w}S&e3`yF)}S$$@K}BEC=xeBhemw?Umx51ovF)a?2L}J9*Sf z6!>b1{FVl)24MfgCNC66s^ftODcM&w6oj8MtB%GS(j-UkD^v&rvEu!~G1?eG)@1Tw7tGOlsR zCUetRqW?~FWLEPvQb{7n z&hDLBgjHd4p*2tLzLxiu86R8cs{Mz&VebHM0~?6@z#-!Pk#yrpSSzMd+^s&$Y&;9w zjslD+8i@aDd5{(`_~lMBlwP~;OYBl!rPXM(nz4ti(wkI@kzbvspJdognHDYjJxX-N zJFyiwvBOcwKiGp4c5I5V7BfU*YLViBl$~xfihaUjBMxZ~I-Ih(+-ZljuXq8+5HDe( zL`=zQy|xv$8)nbi%%0NB4s>M}ERvUU)~LvyqKQ>$B;`WcCT+silvGxNplWk^S#z4~ zgHy_bLktqqRy11k!)BSnV_2mPxjC02NwG8iksV?5K5t9&r+w%xgC=qfZ<_MTR!5F6 z>ITv~+obhg%iBN1wRwG=c>(a|a*1|+gNHSaR8tw!9`&i*sO`?E>3~8Oh4%c&#L}Pa z%hKdmobWg2#(Ab84XimIMCHV_7N|wz(LDHd3YEJ}3r$6Cq_)RqokF!{FSNp{lC(T* zYZ>Z!c;j)&;;TdFI%Tg^RNHFb%An)tRU6^N zatJpVL5gFys4CK4$TaQ8^OOzSKec+>wW+n1lSpgga3QEKmG|2sDq};8MSvv$M~5_j z{ay6EB1I3<`)tx*06wiWYai=t9-$2-Dfmw-v&xTJou=cl*O@p#A7VM-ZCQ=gK4g>L zn75*>C_4*hB1#qvb!=E>VWqfui_=VJ;(#1D@T<>Rj*f{}(Y+N>Zn_YnaN+fho7gn& z%rruKQ!L%1#k_EfV%qLk9t&oDI+u&oV9ib^z;R;g;x2Ggv~G&rlQ zIvF%*Tc<1woa~t-omMXq zAlszpa!sYxUZTXYRYZK4jl}2JcWAv_iTpMtaiiTwh}TJ+hjZej3oTuR;CG#3MzBDI zD>^Mqq2NxHa=%_6iMYX%q$}h{1xTf}j<{bpaAh09yYBfI~@

ExpAot?}c4SAi z{vE&vv(xQcYkg7L^fWoZmec`svP_5SxV)bdUhB7BDC=ajG*VrlVtPJl>Lk(2T@mQsr0f|+-XuS*OQ zdPeBhDAQ6nyW$!%fCSqBw&SN`r|NPDYM(EzXk|sL2XlNSl1jN{EXXz%3#zgMDGn`b z31f0Pil&UV7BwfVN}FwO+sZ0Sab{Uod{NoreQp~ps` z_b+@=7sr$kxa7=of@Z(dhQ`PyN{>-lALW}kE)Nfz$`Ft`q(0Xi|1Z?ntXIa8-aF`5 zIAHp5V)|@y}A>RDLJ*c8muCo0pNJUfh~KQJj6&`n?DK691^rR zOstDsWz)D?((-83!58kNqSZQ3^3LDcv%Tu(%v8XdrKXF>iorWw#F zE#IhpWKAN4&E$S|3Dglw#{r(QJ9m);PxRD>yj2E^lGm+zG?q%TvwNqR2#4K8V#hJ1 ztHLzVi%SWIk*eROs#`hvO$#zLta+KTwP;MjKfOB>|3m+X|3GM+T z(3u03qfS!|lHNBq)fEAr>e(|s$I71OVFc31sTL{PyL3KDQu4u5+ktF|=#oZGEgRjt z)vMkJd#wt9>7csUUX9b7-&LLUN=I0IlK=x0}GJ_qmufb#-^#b<*}p>G<%dF}BsS{UI)d|k{T zq;(+nu}eU3lF+Xk3Ms;;5`!TmWFG|q|0NqCm0<>b6#(ZhTRpfz^Q=LbvnlWp)`C&< zT5t-(2BlRZGq!eDZDSWGdg+t-QatJpJLRxzKuodQD>g7sF`ZWQp^$mbm z031{Q(pa(!!b=9>oA`P?M*+F6^6C`fkCN#|FnhBN44(8i@b$+4qX0c_-qHOhHkG%T z3P+0T==^q;3Rv}Zt=bo*zL5H1N7vnu^!or@kuJKLq3de&|0Mtyc5-EF(yp%yzy3_n zkKlb#qMK#N{8s>P0~BdDaFmgLfc|#?eh6TD0BQIC`+l)6FSui;K3DKiLg)6=X zz}wb87kK8K%hmklD$Mk6NqELiq{^jePIm!kqhUi20^#QX?*ljpkD#R&!VQD);obBp zP|}?z4Dky9-cWLT1?J;XW2~>@>uUgaZsRfu&>d^KOOUfGUV`Zg>;FE!pM+HZc_?{f zX*Iwa_@xsDj-mxJl-2>m`zJNiem&^e=J3MmOj5L=N z==?Z$9zf?o0Mkh^;Wm|Dz~(fwd6GDAU8H3GR2rQ-xD)56g1drcE)p>482~tvd&_W< z$s)ZjjS)zTHL50$c785aLIJFF(y6_p1%;v#PWfpi6w+Q}vZqbw8Qaz$q|ObBlK@;k tGCmHTSDEK|bY1{3WngsnQ6t6}RE$cO0GzTG6jYv>BK&rn`F(n^{lB?8V=@2$ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorityAuthorizationDecision.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorityAuthorizationDecision.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ad5c632ccffb50b0a05ff874675b820a4a934c1e GIT binary patch literal 400 zcmZ4UmVvdnh`}?zC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3zbLaRu_QA; zPtOs;E2)GsAi^%G$(hAK=^l>+sSTMb222c$J`CJYoh6y6#U%`4K3R!niTb4_nK}B- z`8heM$sqHrD~cE#NVgu<*2`88b2$<_8GyD%F|el>CFYf+rc@L#0=*^-vQ!Ubsh(p| zQDUV}W^qYH<0aXd#}nr=GcbBGuoP!jrB)O$FfcHdvw%pTCMUcOO3p7zg#`*Qc!D!? z3vyE3A(p~J2WS!yFy(*)f~6=wC$)q@2oeH0iFxVz!6l&3wyr2BVc-n%_i>F64R#Hx F008nhjrITl literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorizationDecision.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorizationDecision.serialized new file mode 100644 index 0000000000000000000000000000000000000000..3992b0122aacc8328aaffd7c7538c96b3352f4fe GIT binary patch literal 96 zcmZ4UmVvdnh`}MhC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3zbLaRu_QA; oPtOsV=aQP7Sqv1tZ1pggBe9c#iGeYSfjzw_F|Q;wrJ{fl03x|0OaK4? literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorizationDeniedException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.AuthorizationDeniedException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b341932d04d2e8af3c115e41d66905ff69427ef4 GIT binary patch literal 11492 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.FactorAuthorizationDecision.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.FactorAuthorizationDecision.serialized new file mode 100644 index 0000000000000000000000000000000000000000..747fc7d2e83a89fa5f401b7fcba9040a1ef27bec GIT binary patch literal 906 zcmZ4UmVvdnh`}wtC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3zbLaRu_QA; zPtPqexg@{H5n0S7H94~wDEDVZ9Fr2;@`+3gj6MuJX<&t}MMe2V#U%^^K3R!niTb4_ znK}ACnZ+g66$LW(V$dOM0K#BNCx(X8ao^>@#xN$AFo+>J3ZV?*G(l98gHwyb`&MtW zl3pRm%)sc$z+94;UQxinz`$6}0wRH)u_GZAgHj7iGmBDFAfX8kBx$BN{qFsRtxOC| zJ`8L{sfoq;c_j?)K0s6T(c(rQ7B~7RaifpLRFxpGLDoJDd_^dBmM~b8Z!|E7>WUa# zDf2MYX~56}10e>4-PbcX*wfD)7}}O(Th1bR<;0w1 zVODTJb3#L~q_TuT2$CE?mg@(XfN}#c*m%nlb23w0N{hhBzl1>qqNpS@H&q`d3Ji`C s282mK*YSeA0aBy~OgU3yTXsn+d2HeVdaMHMz7Xv!qflv9u&3zbLaRu_QA; zPcJC7ur#wMHN`D4xg@`cMe@ptImyDTObkpu44hDvC6y%%LOxlEWr_MZiFxVz!6hJ* zt$i4H%Mx=kQ(Q`mz($oYh(HvTWag&o!$hqs3QCYn0=kYDWRf08kzR0W(bU+MUD8S( Un|K%)DhkSZ85tme6+~440RJpTCIA2c literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.RequiredFactorError.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.RequiredFactorError.serialized new file mode 100644 index 0000000000000000000000000000000000000000..db9a321996e289ef4118ec28c2d464fe259bbe14 GIT binary patch literal 574 zcmZ4UmVvdnh`}zuC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflv9u&3zbLaRu_QA; zPcJC7ur#wMHN`D4xg@{HwWuh+NSY~5zk7dSD-#2g4+C3KYGQGIUI~M{571P7G*k6q zrs|`Zs*lA~l_0P|);(g6IkWx5>!# literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.event.AuthorizationEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.authorization.event.AuthorizationEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..301e7554511096f19701f693e3362e87ce14f13c GIT binary patch literal 1581 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.cas.authentication.CasServiceTicketAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.cas.authentication.CasServiceTicketAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e5ed3665f81e35c065ed7d1470cbd58e322b003c GIT binary patch literal 552 zcmaKpu}%U(5Qc{{Xw;yIg_brJR?7omL(rhfB^HpF*pR*50T-6rb9aE#f=976F_sp- zhrMs$J2(f095HM)oB99b`~P|Wfoky3aeg2|=1n^2dpX9L^CJ;ZO}wEep=1zpLJydd zQId>HMN5Vb`l(UaHEM*^EUmk4gefduWFv@T*jFBP;g>cL9K}O9m31rALH#xvqM}9& zduAc%8}wyGhYGGn?xDRAa}BYX1oBe-hxYY$K2O{FAcC!XsIB-=Givd79NZwI9xqWR zWNf|VtYuct&$v4pNg5j-VGfl%t8j~_MJiE9#h)~sU5zt(icO&B&y$af*O%`IAkSET zy)n)Vll9i`Few*(xnw9+UGq40giWnIh6Nt?zZ-aF@Ecw5MtMfCz0}dlj-XoHiDMu3 N_~^YrlF+iV_X}z(!;b&} literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.config.annotation.AlreadyBuiltException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.config.annotation.AlreadyBuiltException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..9b19f4c11228b64ecc4218c76301557bb2908c24 GIT binary patch literal 11251 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 ak2V7?3fhmpy7B6zTch<6LY!hZpKI_!S{ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.authority.FactorGrantedAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.authority.FactorGrantedAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..965231949f64ee5ba1b734f79ca11681356e3ec1 GIT binary patch literal 214 zcmZ4UmVvdnh`}kpC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflIlm}XFR`>FBOlCl zOH3}wFLEzR%qvMvafAs=?}~o0XO4^j69bbE11DT{34@SNR$^JAeokUux_)p8$O>y8 z29C_);!>dQk`e}Chm$Zhk>D@pq!V90SL0HytP>RuiU5r09M;fZ2$lO literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.authority.SimpleGrantedAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.authority.SimpleGrantedAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..660168ef235ce7ada2b17d0ee227ad6304d0b2db GIT binary patch literal 124 zcmZ4UmVvdnh`}kpC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflIlm}XFR`>FBOlBS z&de>yNp&wu%qvMvafAsofB{nu69c0U14~hUPHG8*kWW@(S)zVUVqUs_a0$qC>xzOB M2DTvYVBY{Y0RJ2+B>(^b literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.context.SecurityContextImpl.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.context.SecurityContextImpl.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b3a0dd59fc98a4603a814b617355af144704130e GIT binary patch literal 153 zcmZ4UmVvdnh`~0$C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflIlm|sNaU5IR+Q)k zLq(k-e9zp190o98%3)$)^kLvjEG@}M%`3@FPAtg;s$nql0UEB4X1G4gaD9;B`i>}i ItSbr%0Ite6y8r+H literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.context.TransientSecurityContext.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.context.TransientSecurityContext.serialized new file mode 100644 index 0000000000000000000000000000000000000000..5a4ccd07b4d0d97d12c13023f0eb3ea4b04079f6 GIT binary patch literal 1294 zcmb7E&ubGw6n^E==zAkwgOa=;@v zYuzw__(=z8NO_QFJ$ncH37=Vkyu z)|oM=Mr#tVt~y*MEYlv$_?owfB@2v&bKVZS$J~I)wp-oW;l3?-FiraUB4oi`*n=rl zsd5@d zYjMj&UycPtdf+E7gi zr@i)nxTMXcW!V3G`{(5tH02YkTl1qP=-#j688K;F@UBRfyM7n8F9=Sx9_HT$>CB;_c5Je0lz6zd?TmIzNLai^<8l z<{YcOzgmCs^6<&63|5g=H%_nBJY9>}s1?->nPyh$L_dTbWPvyoBMbQlQmOFaXjBVX Gn(_}s!NceP literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.AbstractSessionEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.AbstractSessionEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..8dd396eac46c4a2c906020525998c260370aa8f1 GIT binary patch literal 198 zcmZ4UmVvdnh`}zuC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflIlm|s$SW?+%+J$v zOe!uZN=z;ZhVWg>Qu9g{bozcjVqL(=#K2Hd#Gr%Cu;l!_lGKV4J;#EAoXq6J5};9F ztw}Af<2&5XK4fBG^kU#F$;?eHE=kNS02(8jl~|UjS6Y&pqX$;$pOlrFT;kKq=_ip} Sy8>iY0Rsc${I^@@Bme-zbxSA! literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.ReactiveSessionInformation.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.session.ReactiveSessionInformation.serialized new file mode 100644 index 0000000000000000000000000000000000000000..58edcaa13aaaec14e4f6ad5ae46a14d0d24ab024 GIT binary patch literal 867 zcmb7CO=}ZD7=DvR(xR zkAhMW{0p8udi1C#e}F%sXRp4KG;TZv_pw%y1XD^#~*S%yd2 z?ne%J&kEmb3&`AiHv)3h{1v4}US&E7p&bcYkMSgA#-G_70x|Wi1qgvcjOJzD09TAoh-{AVY zpKm`6S`{hIn kezw6n>Wmr4>?XkwEGIQ`yi(g0U>L4OPX7q8u3r63Fp6sZ*cr+VAK^6(~$B zNJtrjz(S>!!xhXV0FuFAr*@d<0 zE;0N_WL>zzNxsl1ney|{hS031CeE+|4-Hu>$r`vc=S(Vs?q$oorwFoRcnM2Xhp{xp zGO0;6Ez)zNQodu9BF`uczuD2b$z)%KX2dtX_U`-JPvcIF3~_LC@t=xoV;jcbp8mdG zgD8QBBV3&uwSrL)G|hU&{K$#W`RB)n??0Tqelm%I5cmGy|INGSPK|ascplwM&H6Q*DfWF$)Qy M9`d2h6usMj01`tYPXGV_ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.User$AuthorityComparator.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.User$AuthorityComparator.serialized new file mode 100644 index 0000000000000000000000000000000000000000..f0a07f16e10b11efba70d339891ddf87b87565cc GIT binary patch literal 91 zcmZ4UmVvdnh`}wtC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflIlm}Xue3O|C?&Nd nF*B!FFBHgDaV#y#$Op+g=jRqA7A2PC7cqbVQw|dYLq!1qM=u~7 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.User.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.core.userdetails.User.serialized new file mode 100644 index 0000000000000000000000000000000000000000..29c8890b3a86a59327635a10b151895f4c30fc47 GIT binary patch literal 294 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e1fe62ce49a79f22124319a8dab2ceb68e7512a1 GIT binary patch literal 11513 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyResponseControl.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.ppolicy.PasswordPolicyResponseControl.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7523182d97c19bc75ea17f260f78d1d65eb4f349 GIT binary patch literal 517 zcmbV|u};EJ6owBdN+NMECQc4aZmqM%7^uZGX%H!Bl!4r|m*#4F@6EZlS{99~gPV&J zi7T5g;6wNTzJQa98y12Q9XZ=MfAZz~&+r2Z3gJ*-Xefz{hdm@Qy%uq zA`K};#QeU|AWCI%(3q@Es-)nGT7qj7(W~|JeE0Uamxo0M)ChEl_(Q}^1nnqxV3z13}0 RJn!_VdC)y>S6ruc_6>9Ywxs|7 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.InetOrgPerson.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.InetOrgPerson.serialized new file mode 100644 index 0000000000000000000000000000000000000000..003e0f746a3ea5a2113043c08d29fdb71626dba3 GIT binary patch literal 1184 zcmb7DOLo&R6jj_LP16Ik&@y8S>4aHF`8tjr+liCZ_Dr=!Dr!qclG}s<=P+Oq3|Il| zgE{+P4?HI^O*u^Jf&6seM^E=%{rHV)QlLvNmMxhH%9ig0PRTtNw=GGcTu`-cB{9xg zxg;Vc3e!Zk3`UeAmM#&JGqm}%L_;qv)QqsOXhfJK3ij{u9ll5~TV8moD1K?7lbB>! zsFW~e=jk;OAJ8XMvCvseq@oNf%9+7p8ezpt-*HT3mf*Dwt?j~}lQc{Cnvh3Dj&68L z+#Alyu+t5|rNT)&js=l&m*1d_DvFbGUrpg=J6}EJ*EA_hRQL|oc)qiqW&f$z+=5*m zmzhn$dHSfox>SM?wJTFoRQ)~XAgA#LUkUW~Y2)~J4mAsD5mV@7%YUwDa$!-afc;}& zITAE0Sl)GUw4`^0?NO`A()B`-gk%Msd$)l8+E44x0{zTEKE17c44B-5Xqq89#Zkm_ z&;w`vRYnDgLv-?hSvFN20B{`91)8zDU(wI6J?+|fE7(i zhrHv0Z0c_`23+7=-EdGi1?8dFdt`Nal8~t22q@Fyl8#1(rG%%kos)$c#hYNICRbUd zf+`4|e@CeP1s>I_LjA3R{Z?BDye>wt`uyw7*Pr;?0je0ND(OeE$_g&-tHruf=y2ip zL(g^;YWDS>?pSs(nJ83s7WQbP)kBEWHsKn;p6)E*7aE-zB-f3R83dt1jafHrhknNZ zUw2?l3zzBYGfSabI59%N>)w23OgdnU=az2z3LT8QV_2`IHh_Vy+x`_8SL0yjn_$d_ z^GP2n9WBPD?g!3T2YaLs=YcoqK);Ql=lAVFuM20Iq36L3=7wYUU43o@5ZZH{VC4BO m^ic0PZD-Vj9DTg#gzgaPH{E_{4qS731p$rjMAti(HT?sm!)0Iq literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.LdapAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.LdapAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..55d14042f2c3d4c17d85c2c718703974bc31c168 GIT binary patch literal 265 zcmYL^Jx&8L5QQhZ3rc8EXt{$|p-d|N3Z$iBg(A@ntZ^KSZN}qdX*dE`phbcXi3@NG z?!X6R WCk&hBpzj%mIgd?I8LG?n^x_w=^;F3K literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.LdapUserDetailsImpl.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.ldap.userdetails.LdapUserDetailsImpl.serialized new file mode 100644 index 0000000000000000000000000000000000000000..86e8599e28fbd99d0cf1f9a0e78c4afb34dabd0b GIT binary patch literal 400 zcmYjNJ5B>J5S?8T@oV@)!vSbE2cSxp1SPVN5|V;+gLkr+cg zZjckxxlndQ1q$Ua^t2NNb!esyt^P+Rv|_M}m3z?sWI@)!346q6Y*kLkR;r~W9;PlC z#F=t%uvR6iymjk>aj$HZXs!32J;5u)9tYFP=dr?d8AXw|c{T?)z3{0Wh6PDjkhG1# zB@@=wZ{O$dU-+>BQ6Cysyii?+Xcmp|)(*A@*S#JaO@^uOJ87?bHypRe4w}!BX2W5QY~MN}z{Q+Hz~BPvBg7>j?-+OcjUNVdCZ{?8T^&C0CNc^w60;Mh|@h z-h(^u(Rb)7z`(T{jYhNkYj^eiH-BNn8u+A58QR(iRh}DO;gvSa&|=;g;jTkj@H%WP zngSgc(uOB!tX8mEfec`SL69p4JM0_3pvX?sF zjwD;9xI`6G+wbrb0;*-z!|jzriS>n67&p}!npLXJaGWx(N&ELPDKdNf^H2n4g zUh_QHjdHP8M{O+(77N&UiZPupedt|I8B|ViX`f3sQSmd0MFek4!*gW16v`%8aiQpo z6n3J*13cFTSM|B4L2P*AE;Jz)XdUc5gLkN<#N4ZhPf$GK=+@j?@}_ve)AgpPM{sSu z20;7c65zv(Tz%u+2)!HOzA^mTThjizd;j~E|5=B%2s&2$z_#`*t~&l~9c<6zWRwl! z!O_&g`YdG*y4g6JP9~$F^?hHEE?CI}N{x@R;i7+fLJ#|2rs*(ECoG~eol%@*4z{BC UEQts6q))}>2NOyR4!@570mE>`9{>OV literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.ClientAuthorizationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.ClientAuthorizationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..9356a909800e16711bbb26adf7196bc45212fd94 GIT binary patch literal 17124 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 XWeWbpn^1Rv67ipX0E!X=LG^zDXCIZ0 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.ClientAuthorizationRequiredException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.ClientAuthorizationRequiredException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..39523dc2df75e528616a9170e740d776dc386270 GIT binary patch literal 11810 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClient.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClient.serialized new file mode 100644 index 0000000000000000000000000000000000000000..2e5e45a7ed362785401f46891982ac5f40c2a2a8 GIT binary patch literal 3458 zcmcIm-D@0G6u;S+O}F_pZCdXA!&%44{gk}l_n7yKf=w--QAna&P?yz zO*RdY2=-N_5JB`o5T%G9h@kWjP^2&RLG(c%gMHA4J_P$9>N)rBW@fWX9ih!bVDH>} zK7QwSe&>At2Wblh$@!vSgn{5*Auni&t@&cb2$@|LT&^2FEz9E5hV63ZN#lGDf8jr0 z@XO4ZP{&05rQ8&Gz#<*gwpkd?`77{%oVLKaxzD;;vu%%%#>6tSnK4mWNMd~{*zHV>$K4zib|&swId)O4v=FlQyg0+%`k%L^73 zt7(lU3n5DDLhSiSB>>om6TuD^YM@8J{P=yhaeFimc&99q4sAbRp(H&z?y}^rIm;vj zosn3Cx%B|Ddj9`LoQwQrRn}-{q$0@a#DV9QuxPf_l~qO}s6Wg!7b^VdY&wSZQ zNF`Y7N}qwbRQpC(=6~->OKG@%$l;BUI*?vWGYt6Ta&*8)+A2 z=e?5e@I0qWE(3hG2Cm+G=Yy?zZ~&m3{O>oBt%t_R){WQy988fGi?rC19Ep`Kx~6$D z*xd3|DUjcvE^v~a}R z&}eMK$RQN@2ucp>i|Y3m1W-Y9IG3EmHHoS>0gQTBD++!Ged4ydaF&5XN0O=J4s;I9 z%ph&GlW9kh6lkk|qrOy6I`zpcvjtP+hIZ(#ok>CD(Aq81 zTUVQiHvP8m<$0m3Hv;Hh>QG7RN8ni+0OvAlfQaa6W_fJ|njktz%OVf6r;uzgO%JF6 z6MgM1hfGX+d4I}t0-t*@sY>^;OS1F(+`$ZxOH_Z*$^i5m7yT1<~d-v@(A&#_l J?)*${;$Py>$tC~* literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClientId.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClientId.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ac9026641534769c1ca63de1b62ef0e317bc21c6 GIT binary patch literal 171 zcmZ4UmVvdnh`~9(C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!$>bVCo?s# zM9<$5!~+reMVVEpDb8SF&lCnQV9H@)VDe!QfhZ12P0uVYDM~EK%+K>oDPa)u$x19s z)Xz!GOV1B C*Eu}^ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..25c921370cc88db703a63fd0a1d5b94329d43135 GIT binary patch literal 1657 zcma)6&ubGw6n^=kwLfg5(rOWVvLd3pSUlN-roV%0Bc?$pVx8+HmAJd}Fy zsvuMl@hFIR6~&X{!GkCDpa}j4dhj3~6!E=H;-+bd1~R)lGw;3cecw0p_$zGlCFESW zr1_q-oux&|O1$FA70u^nS=y?qxvZ>;Bbq5}?kJ5u@M)V&*{-8y)3iuKG&$$4a0kL) zT*M)6zz{{b(!R#6@i5JKzGVAKhB-2pg5Ab4yUKLIoFzS{2*{`borK7=Jth>KG!UcS zf>Cc^)N2@Z)0JE=`&{ZZTzPyQ4J1srZLp=Kbb*kWYKx}cKRUeXOk2HiNX)~|rZ{dH z&|Pm*+1yt!Q0u6yY@v_4LU5D#!mc_ju9z)wOLNoN!ZPj{4ZIlYafry!C{&9={eyX@ zJV(f}y z>btjfe0uq6;PTr9#HXN3xXhYD_qj3yovJ9gUvz~Pc&AQ>OvEZX@EON{Ou-In&%urq zBM!gTU*FLUX!k9u&AIb zH=aE=xga^Se5$w)LDZ%yC?F4Lt_M-fv_(}0xwYg=wg|uot%&es9!BRB`>*( zr!5Pq3hN`lP9NX#xMeIV9t%7L+iUw&(;8YxHr+$VYztAIYKwA{V<-3`D+?7}Hxamv zekCBit(Qczg>zh?g;ONwU$>s&H7BFnC_WXAyEj{b7W-)!2mpKd4_jlkwF9@`-nzGz zM>B;Qbzf$o#fSOz&qwf9fXyDp_2&~e*6%!fdLn`AUZn>~NYzm$2v#2rgEZ_9 HOZEQ&L^vrA literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0f504b67de21cbdbfe480bd060a942ec0373e614 GIT binary patch literal 5546 zcmcIoU2GIp6u#a5Qd(MmT0{g1DGd_31B6tetaT{`DhtJyVyI}H&fIpVot+u(+@)KZ z5=_)bO-wK$>XR`c#3!TC@Psju7+yqUG)5ndKIj99#0QCb&b>3ev)iGJN#S9-+`0Fh zbI9kLcBD45x+SQ9Zzb9?j7IkkWaM>c zl5#SbTt9V8&$S#L8WJZEG_8@|8lsby&zW!wC%I&5gr7AQIjZ%EwWu`E(ZuKkqkcYc zVkVh%<;0=L@tzVRN0vkZx=uwjogK$}89XM?-(K5((K%wSN|EYO(i}NQO$@yB7`G^d zs67&*KG(LXfnkKZ)ti*-mJM6h$SpQRN*f%Xf*n02uL?lhiP24Cbkpjn-!bA8T+^Dc z^l_W!!1?!Dw(b7p_cvNoq$)>hY*^u>HKG>x;O%!lSe#O`;UKwm>!rUo3!zoUIdYNI zmpm|Pt&);uOrJ&RrB}Y$bmgZ0UNxy2AT_>qftEbXg_#%^s?IlD4*?L((P7Hb7LH_bYSx3iJp6wlomKieL|UL6 zjP8NNhKInGL?eVKhgO4q5IqZgnFSoJl{n&7focPe&vgfH&|vv~k(ybK&fJhAjp9b9 zb-PFd_kt&z1yJy0dYH1yFTQ$xwo-fu8ze0gPu;4E={=rQF=6Yy+oWBC&mAe}6 zQ?C)^z*mhr2UZ#{aw=dCEA3^@J;ET#Bs*l2yBB$Kq3$n;0FSOO6CM~l!Yq-fInrA8 zTCF$8@*eOdR5eCTAO(Y~El{0hc%-qz$&C%&8IJ`e6wD8J6s>KCL;?ol5spc~36N8F zKDhc1zgvG$*0O?#g8;yKm3}$PnWkotgnMtCINNI9_!|z4hK<}HGbt04(ixL|M8tBJ zc*U89VaE(q8qKtTUhM*aPK06bq zX+gSbflaDKeFY*pc_Qv?td&qS7EIw}U);GwIw2O%C5}ai=XiQhcwQ0MYUZy@~DJNwrl`6PJvMYd;Q7XA&rO=1Kz1* z)JCcF1Wa>50Gi~=Ff|wzt<~xrSrx8v4xKFYlP@GQC((%2Aq|EeNC*cbTRi5Tw}9z_ zPMedn%c<{Vx%7C`Wrd5+S)FO!?Z|+O8}2PKoLSb>&WZJjLIuwro2^u|L&p9aGeQjvM9d`Kql#?&UJ)2v^y)r^uSajv0`dw8Zf99>UiGr zJ9goI;HU;MU8uLMMW3<(XTt3dzEp5hc!(hF7^zSP%_CZNASn4u&lk{soatWo+UQTe zel6w;7^z}v5+|EuR>PVI?m>k)PIkuaDyxHHJRB1q0}xI>JRB@?ivkA3Ow0@FV@k-S zy~*MP`KrZbD)5Db#%}b-u^g#}z5;&&QMMr}Fc)ELmF@Kcvx;6XlgJgw6mgo>QF*CpWkABU=& ANdN!< literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..efd39c5bc24abfc07b1b21b9c6f57aa83911f319 GIT binary patch literal 5628 zcmcIoU2GIp6u#a5Qd%hgAQTNL1P$zf0*RESZ2uRwKXhAcD_Ev8x80$$JHws3bPJY1 zqVY`=6HEy4$(R`9lhJ5+f|y7Q!HC9SjKn9S5Bk6Z(L|!2bMH)Nb~}_YDSg=8&fN2J z&-u=G&b=S~K`I?aMl3cJcWh?lrY4!1r85?rjyqJ#GlS2@Ej7pgA7Lf8g8D zRBl+gcz*(4rmQI=hrj$cL)J9S5%Cu@W27=gmaCdZ9Y?(2E;w!hkjVhI49ibENB@uH$^$=kFJ*HblWm=+|wVX5G<{h8y}=ohQpaK$4M%h z84)st1w@s0@hqqfY%IgrYlf|woE(g%8UvGeD096ZhM%CQj?qa*os1jgmgu@_of7ez)177`N}AdQCr;kyraUdVOpD`KR4jMN9@sE)vpq2~s5I9Z=Mt)5ktJU2|G z-7-z8A<$rN)jH*>VZxHta)}8kSNbPT!;0pDO#sL{P&AIBabMJF8qQ@c-Iz4g36rKE ziw{?B-}~wBZ#Kk8S&CGc@Pw0wfLUCFyWjPAb-tNRZRFyuSN_~8l$L2{$OTeeu)(P{ zzLo@I>MUw6T>7^0%1!m%a#EHg6^?O^!Uo`PrUE|;D7+Fxdln7<44o(~$Cv0tar8T6 z%up*KSctI{sb@56ahlL|fJ#X?(;Qgu0+Z)K}Kmjr{ z&^L5+q;IG{3Hny~!0S<+48-zU$Lp8h`TVne(6^rkVOqcv3bFERARMrjBgyuW zzP{nEQLxq<*_y}d9@@fK-8T!>u-0WC*+~ZJnLL1ylfLLU^Gt>{5?3EUptxfVQpdJ( z&eC-(Pa!ZN#0#B&d`HKk^qdcim+QPAu38M2t{ce6syU$Iu)rxRDcWAuhW*y69Jpj6 z^bk|OJiBHhiPG-ORDqQ@H9ZNBZ#s{nHwij=#a4>LoQSBf+gz4o8i$nNg49P}ba zbtq+x`%9pw%3Mij)6t#vVjB(&Un#invLAZ89!ddtg9n&lyI;wE!zu1-5cK=+fA9}~ zP~9dwP!@G50u38{@syF9raICA2<*GwccQ_({x=AWdE;3>(HVKU8L5uRJ{wDy~UEi&l!kO#xnJS?eYnksR7tDAan{u0N@4jx!-+XCf*~dl>y@i zC!}#hFL|=t&_M?yt&u?;juLc6Ho=8#v$_Z$Tx$PWO6k1TTwn^ifl~qif zb>)1jctW(*!^k*??$UzdJ0!ATJ1z1TY-5MWYm4~Y;UR4t#_X0bOY_?OX;`O9Fjk0hedve*Sk}_s7 zP7Xxp7THxhQ4Z)Mgtm$}1ZHM0v*HA^8;#p&y$wH(z*dh$%BVa91~C|KUvQ%F_X!Q- z5v-49_oT>E5|9a?b^q+xOM&D8*`3kDA)N?Q1JNlZ`C4hT54x9|fI9gkO*KZvjJ7I8 zR(Q`ihmjb1+{@A2iFD{|k`4p(gmQ3lrOm9f29U2ivU74`DeVmuYY)fFieO^rdt$IR z6$EHn059#4@PZ?T+-g{Ee4s33HF=cI7VI)GKDLC$OLFE%tNPIc%{tA> zO&U{qc~b$Er0ObH5#}&~EfdEO=Fc|EPR~pO2K@(BJYzUbdvHA*Y-+?Y#eds?Hx9|% zq}A!(op6$Uf*@_eTaBPO7;e$C!|p(_IIY9TGJ0U`>tjFt`i)ELYeG66CtE|FdL0+S zg9g)_>v%C`XM6H962Jg%?GdLzWimwZ;6}#&Uv;r3h%tTfX1(@l-2ug d+%CQ$$lQJPD*1WjFSsG789Cb1-rn1t{twA@vs3^8 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.event.OAuth2AuthorizedClientRefreshedEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.event.OAuth2AuthorizedClientRefreshedEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..15a504120b083d4b6944f195b22e8f0f2f11067f GIT binary patch literal 3632 zcmcIm+iM(E7(csdF5BGGZoD=~ji8~OiKU1n4RLd^O*?I+$qJ2^aCYYG?n!26rf1G3 zn}$dpTJS+pga~56r$P~*L{a(&2vP+5Ao`#Weeyy2(1+rS6u)!MPR?dC)DhY|Eac2N z-{trHzTfwKbr-dU4CQ@RGQxmSuT*5XLe_k?VuZx5GRoHtA6I$#m|?q=c-$bX;`e+` zoQWTw(aXe{mLD&WA|qj$IJ4r?ogW4t^pC9WOQV#9`h=0jyBtkh;MQz%YesHO<!~ScnL!f%)af9^>9b z5%5l1s4cYp07{Q~RotTN<~-pLbcTx}EUX8R)$9K^;+*z3EW;Ld1W8XM4m?*7MYFkL zjWnXE(gN|3T0o)8a-5?BDtbXW=$X)Ad1Kb?7 zO%cop16QXLxl&Tw*oMa5Hq;LHTWB!SSK03;8BjrSIG3Emk(}=~0gQTDDT??G`c&7` zvjha);b=Cw1C>LZ89`g+WX_Q!1=_0rg}&5Jy41-$u^Ex%?yyi#bjCS|4s`Te$-+q_ zbi>o~8Zbs0hah_c=C4wRuo=QJb-~};kJ8^8yRC!6PDUJPcbn%Kt;5jM$cr7g>XIhz zbjc2%OvE&ymGO1g^xDhk0bHNvk}6BK?-1bjbYhPR*Ek|P%m``8K!BwJ4k_qB zMx7p|z{O5w_&GI{y6a!meF*Skq5u;$UlTRTt+&n5&;D5eby`Hdj9jWh(V&`s@eEn7 z1u1a8_z0ah@kE2x-mq!O+GyHjVJ9lmQdMmP(7o8f9Pb{1XK?_W%g6!3^wZ4p+6pv* zK4{}*8V-*NvVq4AIbihHzG_I=oLBT`Jty#~2a~Gu7`tRR-{cNv07oyCIS;}y(}l+o#kBs)+1IWve}G+`zkwuN=I(`1_wf z%W(r!J0>!YhGI^m9T?yj&YtJ!NZhSmS;^6~Br5`mtvo)`?SWmh5H{L_0^YsDVlo*I z#10sz4nR&ty_W?Zhb`1n-I2wtV4Y}u*o+u0R5{rh9kNIhiJ*w|usL*{++HvU|$leR=>Vg|9*4k>h`DKe|Nk^u6(fgp}xu2 VWR@w=R0bK1iGanPx3lX9{{m!64Z8pU literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.authentication.event.OidcUserRefreshedEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.authentication.event.OidcUserRefreshedEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0cea051f6e231d6692fa9b188659330a91433145 GIT binary patch literal 3770 zcmbVOU2GIp6h6CK*cK>kA^aGE0a6G7Iui>1(3Zf`KNglQX{pgx#Je-M?7-~IICFXJ??(BAE%UZTJ>DjqI z=jVRsJLldjcVL0%!np08P&~&qtP>M1EAvU)J*9YD^IbzsDK_&(sZ-HRgIhwe4P8@c z1_y@5gkf6>KTRtITp9JaJIp6s?v=RSPt)zUH~g9Qo2?|I^02g4Q9x%NU8}QPt5w&k zX1iR?);R0V!(xk1R-FmhGq;H_`p^=^uKF0FT2&`&wy9T#&%rrJ1}y$EP zdIFZ`DKgb$)(JHX3V~=L0%(TAOoAbe@ej@?qHNIz0*hZ!qh#Ra5BO}bzUfVPgFJu@-m)5yphUtZ|ISB-8a|Ca+)oUNM%C>Gy7_4aW zyy1zv%Qo$}`s>9E<|hwLCe8@R#N5!HZc6%t%|&h=+7IWyeCCgbrO|{&QMCjP2DKux zl674+Mb?8CzFznC7wo+hBy!N?8D}^p9ukvHBvEPqoIq0*$ovyZQ_6@@c1%9#GNhx- zyPS@)O{a8ilh>wsL{NEm2abT2;X=Ou_~=Oga6oZq9E!X1!68uPRI;ED|00*^F=%6& zX8V>HvaSBWF_3LzkcsBpW3-vs0lw#l9TJ6c&|& z90yJU|L{DUqC7-dt0f28JHPIYo3Fofew1pF^jlH0Ez&&da*n%hy>;Z$^qp76Q&h3I zV_^PRwNqKhMD^Nbhq+AHG5pYM$OVdFMId15^OkKpXRAjQ&_t(1*K;$a+Ny~#)a(?} zQu_D=^G#80azFj^*N-2Sa`$9kNE^Cr76Q8G*+xzhkf)qAVGHQ_ABILN+Ej;o z=R`Mt#G2C)z@20#q9xuqiaOzQ2DHmf6I z$XMCEApQMkpRaoMW(tx6u*kHTK7d`?h$o=okZ^x!@ZN)|h_lJY)*ZW?ce)HNVyJT%lE+KCf-wEtA z;iI9$(2>(Ab_Scz!f*;1O*rG03Ewo=hu7rFexI2C9!u7Qq4}6TSv5HzTPJokVp6W`!RJ=xB4JPCvyJpr7ZIx>QR1QxW zQfop_p_jgfX&6;nwZvwM{nNE~^&J;~I8;+>Qg2}c-CVIk!?X9;tl6vmw*-F1x0LBa~8h*EO|*u%IaA`M>>FQNYIPy31<3L zbZJ2Xu}46&p?Am)bs%3TE10TyA*qD0(N_dzl!gfC*$F|iyU^7z0yDT$L#4JZi6xnZ z&x;yh>+vKdgQnL_l0uCF3^`G$yfy)gMtTcJ`j5Mug`Ehe7Kc-l_}1a_PL|p^vNI&{ zSziaGSf8tP*daHsk+QbN6ST2Yde}*y|IJyc9JLQ@EiWDmp9?*+mawzX(wv=zeC?BZ z^Qo;TN$mk~(v~q2k|g5+(04zHZPMSs%!YCLI#?%&dTf)MCEKL&D4Da^77MWgz~MR` U8l(mVI4srM=<{gA1V&^1UnWzW!%Nv z9^aYBfb`~h5Nm&q<>b?oT1p-`2kpKY73)yU3D%SxZTb4((NFkRI+1%hse za1veBW}1{CLjNKy!z?*Ik$XF^*oWUCe2PGdd;tq@QOM{9>fb^d=$ho96_UEYx4b-m zv$O0GuSN=;e+{lT+bAAOQdn^EhO-37cm$9f^?e&eJZ6^agewtJ#lg?>`b`#ef`}=_ zsp%3#T-!;Jg_M>sL; literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.session.OidcSessionInformation.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.oidc.session.OidcSessionInformation.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b6ea2782dc24c6aed4703cf7cc0721e52960e987 GIT binary patch literal 2430 zcmbVOPiP!v6o0#$WV12@=Pl8B6C={g^Tk6eIPl{DfB3^p%AVSsRd*5VtcGGoP4dm^7f8M{} z`@J`F={EES66QU*Vg$Z)+?A?ib-wP&H6!3wC>^z7cq~-4XADa?+*O9>*cP4zf#bPG z2^Zz~x!_hkS!W8je_gtj{p{z7J84K2VVJZ%H01C=!JgtOdy|==a)kL3^QR&SC%QVf zJjt8x?sWzFFD=s0w**-p`Hti^Iu$HX3;cYDJ{63#IGtsRPZc3Y$y$!jgo69yW5L`N zvs78-mZA&WDHiPZ3uQ$pO+`K+Zue0#1|?&V-P-EgskyW2Kn5W4*9QSoAK$+6(ZvXF zPIpbRfiUH&@eKnmjago0p-_bJBCdb>`_2!a*9v#jkS;>jv0w4lupTf~MAPPu;+c)& znXze;U^L0JN#+W%GNw65o~U#RPW%r;6c=ez9Z&Y0Vq123A{W_7N|`Cb5K{adF7$i?42`Sh;( zJv*&go2qNKT74{0FFNiTx6iPkh6)qc=3g5T*ZxF>C8W7!VI!2J%_V}dH__R?-Jkvb z`i;?ZH#3kv4MW0X_GxA*PZl7jYLW*vPuP)v@&ygUE@BUi;D1&@CI~AEvM7n0xMrc< zTULn7=0g{6zW?FoVj4Lq;i)97e?ubKKQIlO-@Nh1!!aP1g3*>fO0HoqU^E>;LjT{1 zZGy8Uwe>tPbEu_tX+4bK=6m+28?e;uyrw(K9e}23#}>@7MqIkLim;yy&A0X) zE%YHGO}~4z+2M#3{Uk<7JV@dZ5(h~)^oZI z*-nNhH3mqUI z(36Cw$pERuu+dWjWm1L&=$!>YvP+o!@3_)nrx!$$KYkLl0o#cu869*Vagjnz0*pDK zgX#W8)t?Pbx*BDt?hF2+M0B~`f$kVopY%inTm?hrnbOOrmL+Gl2K9Lb!|~QS_9c&+ iVLeMvlgPs6_d*-vQ#unGDmc#im#sin@mCisf`0&{q6qH* literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration$Builder.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration$Builder.serialized new file mode 100644 index 0000000000000000000000000000000000000000..41617a4aade4274b1ff832975cab476920617851 GIT binary patch literal 1845 zcma)6zfTlF7@a!<5kY>4U^GZ9u+ZR+F~$O75Kf}R#Tb4RVB%%iox2-uZ)cgAg*yp` zhT6mg6XU;Nukl~7kxC1#t*mV<{ATBtU0{QI-F-Xrz4yKEz4`DPbx460xTsn(5X`Su z1ZmJMF6x$~PAHgaS)7EbcE@r&Mtx-oT4hoRq8RtBQdC<=mBwa5=DAd$=vVZLXuw9p zx&s&NWpwM2Aii2^1yrGF8<6oaWE>-7gNz+6D4x!2F=?azBh8nAGP+=|lTCs>;#cva z(qqB7D`o)Q2j*Z-#ATiWF;}74{6x&mS#1F1tO1#GH_$6ow9z^9|0#&tuJoA7B6S2+ z?OJbKQwq3Bg`Vf56RD5W8^NWM8!@FtYMKMdA&2`FRt?P(K?33uMHK2YvW1Fyc%B4s zvWrO>QURj2nRcyj)uB^T=oZvvf;y>EZ<^4d5}nfF0fpJpD9}oarg)wDNzai`QZeUO zc$UZtP303OHqG&617LRykYEn!l3vra0>i9@iXQH)89+p)azz9%Elv8Q*ONRHY}Bzy zywDh;8Gv0$`byd1E=1!-O{qXmU`(5&5qQ*ccmsR9%6t06wZ;154Z5Dsj&Pv%=dY$7UOWYJtyJ?p@ql{qgH-5h1;e z!3^OQ8qKK2?-OJ~A-oN$&}HH6;B68i?8M*oLh<&|RO~S ztO5Ra@7wDB&zsOh;}0aK+TTAv+}nTq>EqoqTF|W?FjoK6gUDV5FpZ$ZozQ7(Dm0#@ u>JgJW4wbSTJrJPJ{aiMRQ+Pc2r#ZZ{2DGS9Xe6dY0%oPNrztB`WbQx6F^?4h literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration$ClientSettings.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration$ClientSettings.serialized new file mode 100644 index 0000000000000000000000000000000000000000..14e74db3b465c6e822cae112c123e8c8e4eefa45 GIT binary patch literal 129 zcmZ4UmVvdnh#@k+C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!$>bVCo?s# zM6W0{J+ru^D6u3nKTppYEEa?$qyiBNPAw?`npT{_dQsnC=ARHI2F54`{-V^v(#)dN PfTH~TH1E{PiULLeyTLIu literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.client.registration.ClientRegistration.serialized new file mode 100644 index 0000000000000000000000000000000000000000..711069f196db8316173bb83730a50393a87cc6dc GIT binary patch literal 2471 zcmcIlzfTlF6rMW-1b={v5{(jzv(V^{8e;)5h)5J&jS;U9jbzxJyBlwBXPtcuhXg}o zZDOK{u{N==*Z42kXr+bLRu&e<#u(r1uvd<9G|B;t)VvH*s0bL+d`2oxu zveF>PW&<*fDR1|?vQ3eCuV9nz1?EMjD9r$?$69?f=SY_$ z;$&__BXX8Y{)M{B6n+k!jc%BmXQ6O_^qJ@}fv(zO5+BqK0t=A@lZM8`~wA+z>MN}g* zY_PSN%Ye0;=L!qZfPEqiBd*e`eRmh@=&Ll)12qwrjsvkbuoVz_GsrskQ=Gvln6mlVll?L#xcmt%3Gn!EH>LpQfobx>2mw#Siyd8 zjo{SGXIgCk)dP<|JbJ!b*5*^>Xtq;Zjh;5Z-g9L2-JPE!#_u?^_q1%R^q5&(!)az) z_;v1HWMK{QKY1T#pL{ujNi_bB^wiq_x91-|dHUw{sV?0di(66W!SS=P+6CMa3Y8tz H!ZrT@2%~hM literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.AuthenticationMethod.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.AuthenticationMethod.serialized new file mode 100644 index 0000000000000000000000000000000000000000..8cad2bef8a3e84ea66bc426c97d22b9c9739bbfb GIT binary patch literal 118 zcmZ4UmVvdnh`~0$C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!$>bVzbIAD z5y(uMHMz7Xv!qflKe4nV!$>bVzbIAD z5y;Fh%B)H($;{7lFG|cS38^edWdH-F93}=v9|qR4#GKO95(Xikti-ZJ{hY+Sbp7BG WklEH11tknzu2G&oA@1RR-mU;CZYo3o literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.ClientAuthenticationMethod.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.ClientAuthenticationMethod.serialized new file mode 100644 index 0000000000000000000000000000000000000000..1b0cefcc9b175f63e0dfebdfefa48eefafcf202a GIT binary patch literal 126 zcmZ4UmVvdnh`~9(C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!$>bVzbIAD zIVUqUuf!230HiXL6H7Al^L$fFGV)UxzO=uHA6n@F3f3d}CMNm;h)RS(c@uylr+iJBCZEID~QtM=Q(oCG}tTS($ErNLP z;LVeQqBjK(dhzH%5Rc+P!GoR!=|RDRDB|CnO=3jQh0IRgoA=)LzW2@Ee-CX&LqX{| z*MwRGb0y8Hyr%Ry*KjY=0vBAxA}sg2p3>Ysz)LKWI6h=ecHsdEk0JLbDB2Stllw=% z+`j4FSWJUcfGk7Qq8K4J2ulkUHqUYq3Yj~?!odP8v8feR5!S!*5C4dgl6xprK*urx zfkIeb_e&Pc<)$cYFgF;71b>rF>)Nz#E6i*>5mc2gN`e(7r*a?f-ur={I)>AbDnP1w z9xg&E318L*-j<$8YdGd7S*%uC^MMomNhqJCH*+uw;$}&UF)Q^ zmwsIc4vTz3w7QjYNNcuWHYTrvF!=h;-p9|cw7(=6(~x2aebaxmHD0Vx*VI;|n-16Z z>o)p*@bcul#kCg>r2*oQN~RDtmk~p=CzlJgLJH=-%VSmzC3gdkIfAPq?Gb&BiHZm- zPVX4cN8!ZCz`&#)s>Iv2`Gg9bpjaZ{Jqd6WRqjr4eQoCQqcs~2KkT;EYCTjG+Fwn6 zx4lA)BppwM+*l^FkzISp?jU3|XFj=WG+3(J;VT)IMLZ8j z&^FIx#N&|W;Lt1KqOZ;r9KUhzXoIOPPYSvzvw~>pmHqjFO1?kuo2~tMQQ3~r84<3! z#xoUP@t6v4X-Vi`qHft&4a22pXFjj1YumH^q#J0mq@*3w|G(kM)jp(IK;p5N+TO^8 z!P4$;aCN43s;M=HP!0e0OOfRHJur7lSQY-A*HQwImI>C3CQch;LdZ^yj87b#wem@r V%pokPn-VECZ9R2cLsm9=*)IqemVN*L literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AccessToken$TokenType.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AccessToken$TokenType.serialized new file mode 100644 index 0000000000000000000000000000000000000000..a309a68b628b2d8a81dc53721fe6a3219a69a582 GIT binary patch literal 127 zcmZ4UmVvdnh`}YlC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!$>bVzbIAD z-x0)iOioTME)L1hPR&yRlOdG_sSIGil*7cp=)=HTmY7qTTEZaYla*MOsGpOVm#!aN T0^l1HJFhd(t7Adz zq0WJz7ySnWPhArKgYeX$qoTXGiQsnWo@5*OTxv+9KEYLKOpYrdZNNLY62bK%(Myr!F49Q(BoS$g zH^>)Rvzcpl(D%SRi8WB~zIuN$dcXeZ27t}B1_N(k?d`$g#MzI!HJ&@rJ$*C(aN_K{ zwbU)u!5$PaUn+Z{k_2OtDmCLvXWc_H8zbxqy7WJ?fR$y literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AuthenticationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AuthenticationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b371963aadd393cb4ecdcbdd6a1a5acb2b575266 GIT binary patch literal 17156 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 Ns69ZMf1Cm+zXRw8r}F>+ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AuthorizationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2AuthorizationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..3de50d4d7e6ea4163183c501d2f2b008c89d5a26 GIT binary patch literal 17005 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2Error.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.OAuth2Error.serialized new file mode 100644 index 0000000000000000000000000000000000000000..a0db6dd727e6ee6ca462b100f693dbcedd20a3d9 GIT binary patch literal 158 zcmZ4UmVvdnh`}VkC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!$>bVzbIAD z-x0)iEh@?{VgLiC93}>49|rD})Z*l#%z~24{JatdA)l`6;P|40Q~QJ`Bu2MHMz7Xv!qflKe4nV!$>bVzbIAD z-x0(PN=++DEzStZ&rZ!d_Eh|ZY!m|+Fy$~Y zF#9lYrdAYW0&Q_DDPa)y$x19s)Gx`*P1X0zD=taQE3x)r;K(d4E=^5wEGcBDV_@=O z;3@&RCoD0iG_{052%;q?F)v*|xCG=g>xu%PS9w7u>48kr3r;PX8r!lMHMz7Xv!qflKe4nV!$>bVzbIAD z-x0(PElw?R&QD1_X}tByAFrh>ObiSaMGQ7Xo8p*MTvC*nTmmsIBtJVfj{yvra+nyH zeHb`XD+)4;Qi~l+N*IKFvJ%S@^-D5yQ}sRbic1pnO00btI5LZiOH)%EO9~n47?^w* zxJp2VgeB&brj{@WLA2x~=B4Wgmw}TCP;w;(-@R5umj^V;-7CD)E}3kilHjt+AlWA^H^k zA`~6CWP)2qp76~E*NCv>5Ttz!(oP}m7}7S7b_!|dKqmR792h!=qeB^Jj<9@MKykvU zW=MLOod2&^LOzqL-^k^8!idTIN6eH0xzY&domXs&*$ouFy~skkZ$Cp+Vy%H(Z^9cW zIWXL&zyrkse7X~o1T&pW&{oe@3W6JHOP(-aC40cdn3_+Ow^xW#P^II8ZO7@H;n?Fq zuj>mQ;DVR@A5h#Aio2K{IjeXqbxeMxbMhw}B}+>D&S+PLWW+XMS2)sENh3oZ@r!DG z)hKTn<*obD_lYZ2M~|-tb?J$9!Pb0E75Vw`(;qzSnJq%WfkHhhNfbVkg*zhH;NC-~ zYZP#6Z|V7w8i{JDls{z%`6pHdSu!UHN;TgwQb&H_0Z=ue(JU_t0IVpgPjKP z>C`Y4B)gYQ_(W_ox=uO%Mc0^!>ROK0iPUx#nsDVjq*nH96nWe}suiU~xSkiA%Mzil zMFrtbUR+0*REx(Q*COqRylMU9NSmEhoo*v2p?1&*)IhtV?+)I+-(4klk&$m?M*dgt zWX~_p!tVZyUt@6#xd_8YhF*3op1@=Indj;u?huWkLpA!PYyX;|5n|HQbcxe>(WTO5 uvUNKU>6DDM5?4wpgxj4DulVIQXX0oG<;=ylxpcf~CQXq-gMP&<<9`7Te8Uz1 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest.serialized new file mode 100644 index 0000000000000000000000000000000000000000..029e2eb8cea1165d244555675bb26a8387cd2f38 GIT binary patch literal 1469 zcma)6J#P~+77YRAf)K$yyNRiDzS?ivlmX=* zAh9wcBnC!)KoMi7uKWiEhKd0R@%k>8YpMe!gLCKi!;hc$dG7NMQnrTp+B7{I85uS= z3~P%WZ8kkCf{u}}>uJ`3)^#t?MtCCRk(MEND+_MZE!xP}45SX9h^>yWK;mCf70HB8 z&N0rV3o`YHxz->IrkwU)v28{>AQgSUqB);TFaRUhJ0R>9c|!_5sk&na&F>i&!qeSI z09kNw=`px8g-a8-)WM}g_y#TTxapzhedKF+U2-;ordZgds|YD1X>TlM8Zi4>Q}gwl*Ju>iDL zCgadT!dhDKZZv;8(bCQs{!h8*E{WAqiP!Odyb#BW7%m_IMl_`b6DzVI`LUgAl4B1; z=0{e1zJweYLY&BvpYk?Sos?o!(2!Uff#xXM4=sSm-l9}=Svyh!?bN19H)WUzmZn8w zJ{3#@Q0{eCUQ1+#*QqB@c#T>-*Lu9xQrR`ovGu%@2Hi7za6yl9g)MWcwEu tNpJtfui3;x0g&pEk6xBG7u#w!zw_O81iJ|1{GploQrf@lU_{XO^j{Y_0mJ|R literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationResponse.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationResponse.serialized new file mode 100644 index 0000000000000000000000000000000000000000..20586099ad37c43cb2bfa3b8e04a0992d1e20965 GIT binary patch literal 460 zcma)&O-{ow5JrdoAS!m;qp^e#60j-=386%-NE0YKD;ZKl5}WZ9N*A1nt8oYHG;I+p zys+evJnwto*EjSnL8Pe&tRYnwPb4dR*Ypxt%oe2hBhYfe^Wz}XgaOvM(W>TPJn}<- zX;Lf6O4oO2jjk<1b2?=QdLi^Oog>3h_$=R~C}mxUm_6tsggz2!VmJ*QU;N>V4PUJJ z!t=!%d+qz>% literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationResponseType.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationResponseType.serialized new file mode 100644 index 0000000000000000000000000000000000000000..2bf223f106e86082194e1182b0655a04c0daa698 GIT binary patch literal 137 zcmW-aI}XAy3_wj$FTg=kiIoW^hDwOfz-ko}0<9f6PNAHMt8oVu-tdOEyw4Zvq_7wD zE=3LOuZjabMISCvmo?br1hd_it`j9ke2Eg++-_ZBk!X0M1>pmwD4ggtMS?$7U%{+} bdc;1H!J@t6h)s{|o1>N6>J<&<=gsy9i(D@v literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.OidcIdToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.OidcIdToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..29ce192ce0ffe51d53eb9d6cbed7ee70659e197e GIT binary patch literal 682 zcma))ziSjh6vyA~n)?wA8U;nJ5z)dTyC62+3Goy{4o?q^KR^_m+nL zSXtZI*$NR;Sy)(vh<|~tosFG^g_R<{*(kAeVc!nB^ZkC``^;{Ag*j{Byf)*=7Dndd zb;B|-(`Fi3k(5T_!$`9d)3Z^cjfk}5Ni?L==Qs3J;a2Qlq$Z;imo$o;lCq#Ba4P5IPCe@Dg~-5PyvJkXbD$HBWw>5j_d}Z%tYMJEwUWD z187QXOTl}%0Z+VQ9(}8~m?{Or;a!Ph`8ZxfKXTU<#9+a<9C@c`O_=BRp1y0JTzzu@ zz!kHFz&9{?{Nhz-`=@i(`_})yeRSnaXZ!OBhm^~gswlEMUDj)ts zB)lnNVLNdw9LowN=pV@F8!I_Y_)nalkf7au_WEt7y}1}dtq&oxu`9@}HrwYbLMu^H lWA2h2!2_Zq4rPIlD2J#Tgv2o%Ssn>ju_{M7qoJwgv2Y|Oto%$^ocQ8ENXsOw z%A^>CGIYfKGPlq~tYe5$Sd|);aUQnPJAA;-#4Fvo!0NcJ!j}C-Pb_-k%xX>2D_gp~ zVQFlpa)q~=g7@p``PYB9PMd*|xraxH8hm$&r>Y!Nc8;zHz~TJzdRxzb0&oSJC?z>J z;EcFtXfK(6chdTJecQQtUxBy>8`@&lL+LH|Vci!@uCO|*tCMbXRy17;8i$NLBxF!& R5A8;~RHLahg}0a*{s0qwYyAKK literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser.serialized new file mode 100644 index 0000000000000000000000000000000000000000..6c6a773f14994accd5b61532393f2f3001d376f7 GIT binary patch literal 2051 zcmbVNO>7%Q6n?SYI7u5CXlW^-r9^N5kzKV^NKGmgCuymbrA9SDq5{ffcN|YL-d$$j z5~l~016)BuN-sSlaj1mUOHnVh;>al{5VRb*ao_+*{8YR*TYKX)Agh-Ac6Z*)H}8G( zy*Jl>fnAA#naC_TNo-WO)G(qYS0l6HB+^ff!ZjxnDK?Kgeq^K*sla#AL>gyKHbkni zMgt4<{nI~x-ubdwy;p#O2W1t!5v|A&VcH{TcN?_Zfp#-!m!VyTb{VdkEuQvZhN1^k76F8nu|BOc3^Z%i;s!rl_?0nusav z-Aq_S+^OyUxHk$u2*bFZWcqB7<`xY0`odx6Z#krf>a4 z3ocT)zAuxcW&&x5sYmlQ_h;`a|8V=81Mh7Xp>P&PbR>ea!pF!|VHlf6Ce26(?fCR7 zmZCkYL-ZV@e;J{eq>Bh;vda`YeTy{cFDqhd{qSd-pI%*GC;(7cFXmzW7ZdsTp&3~J z_T4{@WQ6z#2euqiJ}u*TN0Mm&@AY>VH}1YbAiV!JTF8HM?&FOsU)?xSB!9fRhqJ!V z!2rUruN4)*qzc-c_T?C1FdITB@%ht~MymDE?7gTGlG4E@Vm#%#I`V~XMhUt!oJvCo z(w^t2B>`1SI(2C_-udX}_{6#Ev^51VN^t@#Uw-T4)bE=y@2UhQtc9n$zWL{^uMKv5 z%-a1up%>|R=K8Lcyd8A<02d5Pf9>n>zk_3+{5ap!5I7o=Xt%EUyFlbt`rgr2XRTY7 z-R(GcfCuZ-)`ADaoswMRfk6)*XQ1<2>ySUJlbGh`khLQZ%9@>{Y#w2=m(4ylPp~<} z=1Df=Y@T9sn9UJ3N7+2XW}*$GfLe8K_R>QA%mp4ACF)Q1O@yU>OS}9TrGKG0e$7gr zq$X6$CQu@JPxXyjSxnGSac2zMCf>vBFzHZH$y4`&eOXPh8r^D`pa{9S4Oz(s737pA zsaGQ31aAtRcGzWyC1L_;b}(rt>_GXT?Ihey26;(F8^7gL=Esl|z5PH)>;|U#W}wR} zcYVG+^887;J;d&$lcEi}#9HJ~^8hnV*kJzuy0!OgSFTQ7wPGz_HN>tAc91&-RWgz8 ikc%)usa)CrMi^uZdeY#z4R}37m8y5 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..38406fed2a767acffcdf2f86ed6f5ba49ffe7aef GIT binary patch literal 1313 zcmbVLzi-n(6n;sXrYSA-N16f|kPr+EwME53Qwc&#)u^G7S_%>Z!NtBN*E+VjJ2wU- z#K7E*jTNbgP7Dkzv_kv=tgy2&Fff4-?_C<&B8G@a{%ptZefPfazT5r^X(eGckabIi zQuy^%$(p4Z_j<6-eGSD5lG}fg+Z}SdO>PspP2@K5mfOw63iQ!hWq&o$F#R7yG$3^sV+p0M zMYi>ku*pLT!Tge55>gfDXIe{9i!@gnj#bv!2D2kAJo_38aqujeW_-~w(*Ei(ziuyM zlV8VzF!!HB|0>`-?LYp z&V1T^pTGAp1<5(+_X6h5F-Hfo3|ZZfTr~pEjl)ZqjWGkQKD-a%mC=x5k&7x0P?Cye zE^ltWdNWnn8cso?3@Od(afls>Ru7?utm6rc&4h4cBvDaKLk4jT_2auxX!dAB>rhSE zHjh~|^f)H7sUhunOwfIUc@fu;6fU`u$1ZLh88qs&XmSh3cy{OM+rsJj*8>1?*cwdY z>ah0c`O9MNLxWZpOe^X?-ud=$;aoAd`y`G5hpd)oXYQ^nUtOY-9O}H-b-2t4IuP_~vadAr zHJvo{HsWqclcZCaZ%ya-2AN6!U?}N!f}o(W+MO^3X4Z_s>|PFfO%5mvy;MCyFiJ2$ zaFk$(V3^<}L4jbL!0_kkDIWv+I@PrUe|+tnc_ZKG$D?t`*zg}iC(O_kg9NRfBN&U} EH=IhI_y7O^ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.user.DefaultOAuth2User.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.user.DefaultOAuth2User.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7def13ecf6ef009755527c1852f30cc8e5a2d0e1 GIT binary patch literal 968 zcmb7Dzi$&U6n?ohN}C`NkSH*~1PekJsp{6DB>h1VM}s(SsSw4za}rbMeAqs6Sx^>c zB&4!1BQdapn2H#gI)RY*6Brl}0}|rdX}GE_sGM~6-FtqYzxVm`tFKT}66S^MxGIq> z?zAQ8(Y}zIuA*TonI5=;q`EufhC)&|RaCl*v`td3TMZKrFaq{*xC2EGDnx6^Hd0NM zhU4CS@{rV1&3OF=N#;DL8Z?2xY=7RT8uPUn2{gtK*XcmR$q@)Aai{JhcHEiE5~O|6 zV7ms}T@akpP%{y$3qjly5ocg!_NuAJ?|NTtX1D|2|PL|90{5*0VRSXN#Cm`p2-} z+O7gc?6L8GcFTQc3}>t}uwueN!`Z|2U~25KfeD}|PZ@nz_ZrLm*d$uP%q2UP51x}r zR?JY%Ktr|F2yU;;tOx$mEt|o1n*VIaUYkFBT%Yw4POnN5YZ@KW4|;S$3O?qhq2e#J WZZ54$N+L_~43Zdy`ltlWEQ{ZvS~~*( literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.user.OAuth2UserAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.core.user.OAuth2UserAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..891467b9cea3ac26083ebbb0ba26243d6c2fb2e0 GIT binary patch literal 416 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 Ai2wiq literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.Jwt.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.Jwt.serialized new file mode 100644 index 0000000000000000000000000000000000000000..06f8ee1babad6d1d3feecb7b8b1dff1079308921 GIT binary patch literal 831 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 B872S# literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b6607943fd0933ccea206fd44a15b41ef281df56 GIT binary patch literal 16703 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtValidationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.jwt.JwtValidationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..68a0417d1a6b93211107b1760ecc93f8c73a66d3 GIT binary patch literal 11611 zcmeGiTWlT0b*^oUZ3uY~5)ubOk_(~GY~F$35PIWB;>3v~Unfw~*Lrt+@7jBJFS~Q? z>rhbvrEjTKiz#;oV16;?gSY{)njNByDf<*T!$dM_s#-_}4+_N+c%?iM6(BR4pO*3+d428_J7H0#~0*G5L zB|xGN<1VdHj{(Y!VWVCT03o#%*I<}+nqj7#kc~9!kC4a6b&OnF6Vw|)gj^`6tf)rF zdnWEWcI>^KM^X4XA>;~p(QvG!%mj1rwP)`*@|UN2$iNBGKko-MlTDH#*YW7NMs1D; zQ)I2>nqfHQn>G#3ffFK615@M%o5BZ_e-yvV(Sdo#r5e;wjk2n5Cq{g`k$_oK<0BVo z5P~CeM9q4EkixT!^qTcLBm3LBRG9`2IR9nt{AIINcPVIdOWv@7ssK&9W^K+ki(ob8 zSjB@!>vb-`TA)e}AqVRjxfh8#9>92(<3o?pz%yN=LOmLo%nyv36I#Z}=;s)ByA}VPL z^=M-gNNS zBu}@t;Hgx1CLtbxVr5Uc#t|LORi%-8v3Hb_enC|S`n;rd5^1&El*@d#F3UZ7)DNhP zYbqSU1~dx+3PRN0?t!HSZ-oHBV;voB1Oeq7V=ufH;H}@{si*euz=sa%r z#+Vbpzq33r3wxEUD1vNn{ZX>e?|4i8BDnh?-&W>K+&uda95(hD2SpGC>OF^n`pxma z6Ok4~8M#h$lr=_Cw`16ht3cc%mIp|I3SVe=4m0Ym$#9c0EWcLsz0klc#+VU;fnQyK zpP<-{sS(Ng^@4RlJJJ<|{GN5vv^;fbK?(P4h_M4H*BgNGPQRQ+JIYC2vqN?^T848+Lx_(yt%lKZ00&3C$xn^6x_ z4PzEEOTPh$tQ-Kj(?e43LB9PXyE?6>IW251Ve<*t`4t?laZEOaBK29H%FG&0%$lVT zvLLi)XGWTSxGPPAU-5&0R~hG)Ms84>i!>-kuC)Xs5)SNOx)3UNsu9TTGBc$7Z=QgpZkNm`bqRql#bZ?HF}J}`1it54GRwj?|u22T1! zlvI~u3#r{B6>X~yB=mt*bu38l)!9#;jWMs@oE?aG+I=qw6l zBO5E&T*f9LL!7@pj^CbOqz&r*I_j??JRHZgeXJ`xqBM}C;6Eu$zZv)qFX6FQIC5;d zU@H;cI!Y||AszLGtQK`aS&A3@nb2X812FQ?D$NW>VhRpSP5YGQ=xBHm-TeS^( z7e?2xkxs+LT+Pup#lrQH&5NsKQ+L1O7@araTspSmnKj4Kc}46`WOVaSP86GO=L39( z129pY>KvQI4jkzR^8&dkM?+kG#F;SB2&aP0GuS`@Bjx53egNn7B?oFLMdjw0uKxrQ z<_$by<|*woFW{N59j}SHQsaZp{CTJyLGF(fQaLkO6$8qlk%6B919!&^gbW;}W&pqA zrd6G;heg#bPR~R706Vf82_tVX;UH1ZFox*g0`zxe&;uR{#~6#Acj^?2PQ`=8{UV`G zjw^NZK%z@6ct>6E#ry*H{(GRec**Vih~x*YF!f&rS?-KwDFuPKf(5&x>Xo5H18Egj ziD36u!%|J_=7m;gXbrY?$g+@9N~YdjKxB7JMA{>(uv4(EIlE9Mlz4N{6>bM~d%8e( zPjUYQB%fzZu85X80DB^p_KN!8fci*M8=8JYp>=HpwleLP@J(cvZ<8rC_uL1FcVzTZ znge~C7K_{x0zi65+H%11>no5r`Z-GP*~gXi3;gs;STDa~gJUe6&1dc@J+V)Op=^uevQt}typ4i2z6c7XUIDJ&jBIb^a4-<3naZ#e%$F7X19#I-V*s#v&Y z!?UVT@Q1r%YKWUdaioNL^fc6X3$nRl~ejG)s z1SUMhFwD9W->Nbwo`wd4bqhj>Yf81+PhWsb%k%QiQsh+gaNx%~H}z_xC{yLxDutI@ zcq7Mavfzsnaun`48#M~r_((VSxDw#`3%{rfLr4gcgw=9F$sWZFv2ZswABD0$mT$ta zxNo1T3?Wbh#OF1~|AqLHbYIBey@Py(gG3(yq9?l3dAR|#mZXqMyKuN~_c`*If~sa? zIjPF?W*%yIOdCay7{f;1P6H6!aN_{K8##r&3=m3j7NpptN#R6~h-@c>RbW*!SFecb z0wV(=otyS_oooYa{4!h`B8v?U;PO4+m?QwFwCtetk%5Q{oyd*cC5{0fh5NBNu7BJC z9Pn3yEja*hWwgoox)pE6VotWV{-_L*AomcE<1wWrIWTl{C8AKW%{o-wiqUUakdx|8 zTfI!#k~b%!AK#skf5RWp-+*r@U@(oVfWBjE>+rL3?T3TVqe~n)rSx#`=GsPyzd{uO5W=HS2P0c^$Cb4bVfr!< zJfkVTJ;Cxy$Y`yEkLkpt2hC+8>bpAwNfY(K)uB3h;mSY7RdW&b_8>M7MM}jiW*jvM zNy>dv1zj+Gl5ahNF>Wz(Q+g=UN+I#+M4e#^myi#5qtJ&{XJ98F+w%)JFIs48i%10po6rg#T*dCHON&v#Z9NEz(`0sc+9VTa-nMBE zvIlP-1i_PD1rI7Bp1g^ONb%4^Fa8e-Jru!%I5X*XYpJjrNJw7Z%=_N=eQ#cTgNzh# zor{VkBf-K-S&)D(aj{@Y>ed9qWs8#hPAKS6f8NNWn zm#?dzUd;_%O+m_mj({TZ2oi*S&OBKpb`6feh+=gwu{fVedj=H&ECK3ftv^ z+DTPYCl^Pmfn$18OK)mj;J!~?4Ni{Eh5`3jnUOi4s$v_@p8vwl_CgBU9B2#f!aZm+ z%MUb{PZ3#FshRe#??3e4SxZBz2wgrWUXi%S#WZwcRZv;wz86R5CqZA`OC9RDU)^bh z(tmR)DWXz9Zjox*D{>JKMCg^&FORuAM8ZPqA@nsUwG4fh>k}48se8)q1uJV3P9bC$ ziC?4o#Y83=5&dE!ra1vR}|lb zj42gI5UboXt?;7NZFtIcsg#C<_0PT5#<{X@yp)wLkEs09NhONPNu7p@ndOKg6#vyt z`DVSu!Fr!uEZ}U*!1Hqwg|f*Gdun?Cq!jeD!bjtXDf8r&pofwn_)b^qPa(Wy7x0CBX`lhXC) zSDaaR@NqIW{y4lHy?nw%5xR-#e$13>ZJre6_2EZr51-U$RSm_{$>tFKZ3dh1fdbT5 zZ~qucM$tv+-*GN9(~<^9_TKqY5aF_d(YGmv-=6G)7Z=!4N1F~(>##0LyfLWmD&h=#;R6CTur2V$Z|J?Gw?o!zpmTis-D zX71cMKi@g$J7+%lg)DJ7N!ffV?mFDCrY1Sfv00l>$6co7xgqA_HqDFdHn`_AjK}fD z=EhMf4BLtiC-E6B#l6^rXHLJn=4v!d>QkhN3c-zuykM>%%TkBw3{B*PVJ04?PIrp5 zl}Q`q)Doj}4ihAaCM6b_l<-YTD3cPJ%~_&Mc~JxiZ}o*UJ)_yqLJKlXz@f0A3$k1p zW>RY^kpX+HDR|P1cxZ-0%>w|*5ps;wrO0y5rVLjw&h&oMV3rut3s0iLo@SPdcOlOK zP&cBpadbA`Z<{955HNScn3c12W741#CIb+zzw_Q-;zoU6n1oU!lnY+JEqHw&b+d4E zN&VF?&$m5uIYPn%q{+0YK0q~L^C8kGvYfeD+tfX$cQ?UbY_CBVG>S}r5eD42dD{AF9mma;xOO<;5HV) zMUP`1CxeSIBst*<4$fDw(+%Ek{daMJnmhW) z{H3RVTc>hFL&RESimeEwBsr&ZDBXMh+qG|8pr<1wG(_rL<0$hSh)iU*4p;D`uPV@3 zQhtp??PrXfV=`G)Oh>d4yg3XtAz@Q_$!$}Whvx_qO%JE`jwdB_ZT@ZFV%4g|UZ{5U z*(a`jacT{K3rW`KhjI?_fYNL*TsIF!0^%za;=;(W#E|6*pp|YkZrMPxe{?uKK9bC2 z9vx2a0kfJVgm^NZVf@5XFP>d}&%Tdigm}(ua~Rz`e02YoQ0K0+zY0`Sirh|h9Wvjxs5wHB=7Gi(UzPDRdI?-~ z3u?xvfc~li`l<~StRLe>Ar?jImAnz`H)!RgxfF=P;6Mq%kr*(U14PMGBgoX=2z-1K z6`E4IL?{$^)RheZt&OCh1qv$s6qblYArOi*C4Z+3Yntf=8tyuG;K^3=+#itqhk#Ht zjk)eH*BO`j(NN%DQsiIak%CNAx2fWDPI{|WWuXPjuotROAz$owL8KveOJ=B<_ZVjbhb-4 zd*li?h-Qym+x_^C!zj_?Yh)fpR*?!dYMK*No9^foWTStes!4(rvIt*U=f6@}CWP^k znt}E6r*eG;Nm&i*Iz$Mx*3kT6{+M6;`sG*OoF4<8k;$|CR%r)ke=xs4bmGT*p$QP^ z9}A`fcz$-zOD9f#{#jQyX)UB$2xwS^#uFvE-YrP8hJ|K{4jC+I!d989+vU1r zwoDAB?@kZ_BNJZUEl7)+hPbTqj?R)a_sgJU44L6%XU(xFl&~x=IbdA5*b=|qGYKsR z*r&XF8|CDs=whIDy0}Tj2B`?;V29pSv#tIxq6C(VL)ajJUK*hT1If8bfv~M9=~RXL zCh5SzlA47)NY|pj)|p(ncIKn(g%2lIACMR}0RK~+3W`P`XGkLid0?>!N{6AnR*$|Q zng8sN%LI;{ZlN%xLYP}~@NGd_TxL#oKpw-uW-*xMSNeX%r9*Meq(;t_##Km4C=Gew zez=gNi5GHbo4atG)}o#})kxO0IT!-Cfhz?10^JXN0fJrVD-VLYPNH|zQQl~cd} zD!Yc_XPC=8X;;5o?<&q4sWI~MSG(1-V0Zr(xhqIa^_&jrpL}&Ys9YD!g2CkIZrGc1 z#2nDW${T#`Cy`5=kv{P2WKS*8ko~4gom6AOXdj~-J{dXbUZkotn}lk~$}oTZ)2eI9 z3x7ZBGvr?B@1R_xa=kgIA}IsV)ZN$p+UKSq#DmH+?% literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationCode.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationCode.serialized new file mode 100644 index 0000000000000000000000000000000000000000..8da1c72c707aa17b5309195090e9452dde497bb8 GIT binary patch literal 335 zcma)%u}T9$5Qc}-z$vED(nc&5_CV}na|oiiiGfHui}f;|n_PC!*|}s*VdX36Q&?Hr zT8Yo%JGg5gwNnhtKg`E`Z$Hp-1bs`Ta5ZUD-jSN(+|ooiEE>}MD6DGu{wT~eLlSYY zq!)^{HR39dyVzFQsU6|*D}H``A7TRF2~PflFD#+RZyl2=c!|BX6EyHwNtM8wgbnny zCUiM7?8vd2sf_g$vkT)`8SY3(wQ~)Qa(;j(NF;1>gbY>HAj9_Zq*A8L1{`%ez7GEF xND`4G21qYA&mX({=kHtL`Fh?C4glkY9H!mgo_CSkTBVl5DjvZJIL*kMFmEAU3+Z}N z2n?(|Jy!^;vdBxE?F%$i?U~Exi`#a=0ca{%_EsC1&-+I8&XnW&m4k;@8x&a_jDj5Olw;n`CVLW(%=gQ-TnalOvG^j literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationServerMetadata.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationServerMetadata.serialized new file mode 100644 index 0000000000000000000000000000000000000000..95812b1d25a6b719a8780822f9cd3cd219a596fb GIT binary patch literal 664 zcmbVKO=}cE5Ut&8Hh!TANc12cLOghx0TBdq$cGS&>?VicB}6v8)0IqTd#5{9HQ9-W zoFe!$auG!Q2_7Q(1-a&u`~eRhauPy%HtH%Of(_kJRqu86d(|Jmz%Uc6INFHVlgT#L zNp-R3s1q?JIT_iBoXRDA6k^&&ips!|d9B2_ELxf^Yvu7Xx7^1yQIuAqo^$~^oayBy8zp&EXf?cTg>30V7hRHgppDRuS;qk%Z z>Zm>V76>bFT_p)JFOfzH28<0j-_gS($Da?!*N%puIuF;ZQ+htgbhH3hB_-t4SzY+) z87No1cO{(Vt_jo)bB-i1mWp_O8pqZp%BGG*VEnf^wJ_7(nJg40{s7091CD<%P~fJx z4rafw?*En5M+)2xPxZk)Y{`yCZgK9tBS9T}zC93qX;j0o+<3VB>c!gIiJ|Z@e6JQH MRRn5@(^wR60ZJL|sQ>@~ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2ClientRegistration.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2ClientRegistration.serialized new file mode 100644 index 0000000000000000000000000000000000000000..6d6a0c71f60cdf09cdc83a16e7fccceb495dfbdf GIT binary patch literal 601 zcmbVKJx?1!5FOhA57T?C}+hcZ&j}+AT z6LcU^q)ttgUqDO2A3#WeM1_QyHAEH#4O^^sKHi&sGxPflIvm2h#cJSE)Jb&%MO`&5 z)&i$w12t_2Rx~IcXB)Q^2Hvo!e+tqz3FeAEHf^*@XhBuABWwi<=b!fXF5fQa0WyS@ zC-WC8o>9_cb?ok+gVU4EVjglO=#)n2x+CZ>{SaFsY>+nLSCPKYQWiPleS!A{)7BUz zy#P17l+!|E)4h8Gm0a;W- literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2TokenIntrospection.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.OAuth2TokenIntrospection.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0aef112a7cd3685bd7daa84b6ae3048ce04e5599 GIT binary patch literal 398 zcmYL^yGjE=6o$_x=B9<(#Kyux+X;xB;w3^b5DkJhBIvj~$&Q(w*_@f(Y%Ijax3Cpb z_z)3m3kw_HLBYaCL7Yv59GJto{NFz_5ATrE2!{&WM2E;_yM;7hJ%t^jnHwQDeWGY& z{8igy%#fswLViUJSCTY$(%q5jFjjk+}egTvc00sQ}$#GMHMz7Xv!qflKe4nV!wASPDoZWW z199?;GOH3xGV}BF{2f7ZA^F*gOcprRxWmfGn}DC@5jzNlZ>oEiR5P0ci#RFEulZ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AccessTokenAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AccessTokenAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..f2193554824c4b5ae599d7fc6c0f3a35a41ece70 GIT binary patch literal 4786 zcmbtYYitx%6u$c?Eu}ABMN$EUf*{PSEz(2^!uCZQ23mGokrJ%4Gq>AmXLp7>ciSxq zwI=e*L=zKKA|&|3XpFy9q9G>67$t_7hzc=;zeG%s1QH;=J@?+7?(DQItL%^6%*?&# ze&?L;eCN!5@GB~F2r?~_lpUKG>Etj`Q+UE6W3q#_3^C}WY^fPK(hS#R921#cSj0G@ zQo~B~E1af=CN6uUY-v=}u;cVwV>r#O^UwLMbyLa5PoH}8mmn%r&;m8TmZEJ60Ezg3 zL|h;d0VJYX1V?6_)T*E*s;(OhmTLB?%nyo*Ls6|Vs*bCX3^mNi9@U10wVG)Fsy=X7 zGi=qQsJZyb{K!IIz)Tgv!vs4c+%1Z>7q>AReay2R%+(Q`G#tQ;^>&VrqF6~LMP?!e znTZG&BQc-N)+|B0il&>H$)`+?CLBssjTU;(UH;+y^;79xdQA|822r(VAJ$oB1yQJh zAqVxI9JE`ei8YodaJpQ_R5eUkvPdj3)pRn_n;3-^tyvoZJJ+%F$t-I&_6Dtt6KWo=Eow@!>T@VEn6gJ@wMRlHI*&62kru&=AAG5p-O`m`6?n-VnpdCh2 zs61-}sKt3JQ9{&7WUjnj zw-&`Hs4TOpkY^R*#cyilo7;y4s(FrP*^B_*B8+3ouuvut{gXDPsH-HN&t3S9oQup3 z%kH+4fxE;O4sav+fQA4cWY2(DMuA6*1&^qa!jYb|L)A3%pu%vR4A!HR1#`KAD!E6` zsAdM|!V8hC=0ssT`d8o61FV8O;&syI=`N6 zVI=P;IheCpkk3j!s8E+>^;=-?u~F^DTVJ|eW9Upbwie-@L>0V0ucI2 zfiUO9Bl@cB@2htfeDw61mbdo@QMH1WfT6>| z!bqf@4=^Ap+$Lyc&=4(0LG`xfP{m4G85+YnD6B>Yh~YX8Gu5nnxhBH!LiDP+47#Q% z+E-HVm~%#&fy>3fH3?$}N3#levM?{0-KsMJOU`y2JO28opFA1j3JyAs>UQkpRU3r$ zJ4)dd7lK^H`zTUS{ywpU4$sHUA<+j|IND%rD&X3XX6ab4e-(FP=Y$tx03f!P3{fO; zE}9mDxmfUN2*!3`;7~$!3=JwT$7rdE!}3Z6GX@K4#Q012n}pN^JA?(PiM68tU$AbH z6wB1Jc8;u} zi3$ii8%%=~J?f&9MebyR4`-k z*|T0gsP1($`xPGe7^;o?|nLiMaWoF7Gl}^;B+gHtSfK))n9e% z^D(z8?&EQc^Y4LN#;bV7>mcJ56s?&_5f>9kc*em}PGE9_CQHHriZ=U}X16@?l%!!o z;oS>f`>~X;GHG2Zm{Hl*gA{G_Z8daZT5^nJTBR9am}(~B-vm06nkrE|M=b}-qZ1Cy zPdOV=*95r6KZ|%t*Kq0PeConFW u+Tep(km_QN)-c8}N8t}3Az`whjK7$52vrI3ddz1=$K!^E0cuJ6v;P8+>|ntF literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..67a48a5ac593d217e3b8bda78e275e5bd0db44f5 GIT binary patch literal 1853 zcmcJQO=uHA6vtDpsXl!F5nQd z@57BOjPI#h2(_kNsKMF5+*xDpM9dwJ3*xN9S$6@>yFEq$>jaSUXo#6YgU!9x-Nnrq z0-U2waq0?Udpli_N?>m@L?53Vy%CK1+W^relxny~eCXpU2}KEz>T4i1%o&6J0!^r? z9fW`>1CvHI6sf9Q#=i5f|gAQxze@B4>UzJag8RU{yMFA@H^o+Uk|1;-#5T z4_bU&#H>uJkm{MH_*R#fR=%yF)%Q|;kW55F4Rq3K+}7drtco_;b~AcSLBwp+i26$0 z8hZ-l4x4O!!^{ed0wc?`tILBur>|jVn$-c#(hJ!Pw$7)+=%vjv-)=F_ZQvnk#FT`r zGEK8G09LDkot~$qkP*Xx_&PV>qH60fc$Do*u$ATAkhj#{ z?Rj^OJj#vgBsS1CMUu9$+cY02&@>K`qIC@iF^m*#;3h?3plDhoK~l7T6e*fN+CPfI z?H`Sk{@%>&?(E*)@o2k$rTk;LGyCSf-@JMA=FQBzKl*pJA@JFUJ%7;(>b_H3T=4BG zU-A5FR=`UQ-w~^pXE#LU7|Q-K_bn=TzH{9cj#rZ&ll`uS6w6K8v8i4 zBUBG|L?z+08H9a(A3XBUH!aRdAh(ddVzher1UuFlm_(H1PoVZJ*~_-&+O!NO!VlvvuR=p$xg%)Q>pmFra)de%Y*;mG2*(|nasqL>S$~?{U_*lKx!?o=B;D>~ zS~xy0-(I(A)(P%6{7|0KS1|$-%Ilf9_sp5M4?alxs58dCi0QjG)>}&hd+=MoclhK# zKHtLz&a(am&#&5Il5KLG8o$`6&U1f?-CT0*Aei#(GWRb62f^Gl#kQ0=K9EXA>AS8S zSa4i!P;CP4idRn5c;!ZdW~eG_9^-z1=`I;H>p8}9Zwc0G*Xx2E?P#|}?mM=tT~5)i z)?GLgwmYlZB2_^7u3eok+j$Hmd{h49k$PQrU@N4u#}4^k32mN3AS}njUB&;Md&fxZJ49d^C?L$SUVV# zp=pfQ7BO7_BUPh2ITT7sOJLuK5Zyy>_X@T-q@D4WJQMtvT1iVjw*{Y`U*e_2_`Q}Q zrQ(RmYbiw_*sY4!tmg^EZ&Dk(*{mR&!N}SSi(F-*;ooW&wI+6!yjt0zHQjb6;AW?5 zlE@Syy~}oz6slx6jm;$gmd3Qd4W>ffnS?)pV)a{O8V{IkUX3(zir!8O)~}?RM9*ni z=SWs6u!y6fq70LYIyf4|BCP#dxgx~a-xvla{|(Djn|z}v=S=VP3k2Yjd9ZL1U=40j<`on5A=c*zSO8W!m7Kr zphe0mdDW^{3oKecty$GE*wrNzq1YX%8V!B3g05tTx`NB^8P-F4yn`fK#^GZPVdRNX zBiPPZoUV&HcF_>SPG~VFV=+sOx`TDa;?jp$p%4WzW~=+PC$l~hHf{=gNDI5atuWq% zmC7((v7N-gsz4n9Qo2g3aATcT8(uag{j!!c+l8c9hIBC$;(PvR#dd0WxJRdq^|-be z6A5-8E~HyT{eHqk^9Nn@Tksl%8rB?wO|K!wo4Nx1PFLxE56b1A;F_{NEoIT;NqRhm zl|Q1RIZpAXQl#1Hsg_oI6RqYrTozn=Ys*m6m%Gw5>`HE-YK!A?qzMga^BVW_p=m9n zM$=&&Y!|NbU{r&lXlbeSaf^v0X6JeAidnwqX?-ncZSrF`IEzyxZNXjZ{ zS;ekog;pN*Gqk{{f|p~fBi2{wk+8C}TH-_RN@6ze5y_h#G8n!h*p?E_kU~wux@JZx z?5-3s6%&4-5)sG|S!f}cUyI;eia@YUY7l7XO~d{NNhp|%9F@aP`L{9;O1?vL-lF-T z?1tXPq7Q=I*6x$Gz1;~*h>4Rn5eC(Tc!Z+WBjs%?4gz|=RKYQYYen0^QO~92QpWSG zl^V-N!OT_6u%aNmn8?mPOr186!sFP zIXk$9XxJ?3?(Nm8*1epiuqJSpxx1P_WAV{Hqx-7R`=|6c#EbbSSqi z*qA=C&SA!un8Sd%T|RFZIt{$??w*g>blIWP46AF}P^Up-zUr8ZVs5kShhUGb6Q*f? z`7yp=V_!P9TC=N8$;3+BWhkD|&3{G8``v7U4{20Jh}X$CsTDZX55)y~Q4XtQ|A}V; z#_0&gXX)*8EoMI9`Pi>7J2*?pM`ljp`YQ;Sx5JQTiajSo5tGdNB{ z>`xL>F*92ifXJW;!0Q0;3o(E|z+kEt@Q&N1%5*)*N3Z$m1%wY+k)xU*v<4d+iFyk# zV*fp`Kit9|d^ol-B|hWSIUPFX@6R7q0d=xIQumkBy;j(%R{EHi=GaSJ9WdvPC92kH8eULZo#j<5>xi;Qk~xy-Q}3M+ za#t)wk4LM*&SPFnxPooed^6bP4uRc$U9fv!{^$gP&kMFxL|YwTJV{DtMZI@KeJrUB zL%)I2x>19r%qS__B(Se!=%wcr7~j#Nm%=>sZI?u7mT&;+Dm|71C9l4Uz|qTMencwi z&*{@&V7{#Qb{#?7X!{oIGk|lb1x`HC;#o*cUxLrz%Q(2gZlOq*C^$a1-3%n`Wr-x7 zA>Ym*$_*yq4uqUDNPC*Vd9Vd%i*-^{X+vMjU;>+@+OJ1MS<@DijlRE3k3XeHn^B}s zO40Q8O?sqeRF63t^!<$tA`Af4%5x>@O0pESer*!Zzs?W`JyPwP^muoAdhh01SDbb{ z3vtg!-hX<+O zGR_Z!hcIHq{12lBGh(z-4XBt1N2E>>G0KaDZZ>3LltTfRxg|Rww+T7~N`8!1=7i+C zBWV9hZ$EB<_Hsm^B5x`_Z+33Y0Q*ZB9Ddd0@bQS?*Xd0bf5Rk5NB>0i36o$=4Cx@B zIQ*u`p<_^wWxjt5^GIE6%D68I6^N7ccP*ZiOyyqsEKTLp^!5TaI%pixhpew>SGkrtlooy*G}*q7w_(Zq!N@9Qac*gr#l{)s_-V=QPfs;CS`6 z;r0$+^_n`w<-smjl;#NhC>)~PFy3-o;ba!*#?4p4GFtpuss$AjF1@-IfjScBS$xd)AIwaD?QOUSqpVM?Ier#RP)#S_EpH7cA>UD-F@*i}Fe&M!9Q@rz^98s^~zl6KiTB zQaQGwv7p^q)uE`|t){i@mR%O?;+mr5MP=OB*U-97RmssB&oIo^JR_B_RDp zUepBv0)iyFXgX2Po}maaM;gjmIM%1*n;^&^ITD==5m5u(muHUu7v0yQ`vQS{2c3mO zLLY(9v)$>u*uYs!vXhZ^vAOT`IkcGE@lZA$Csjx*Y?K~j^k})A1`%$!>C+@VWSH1O zM7_9xUfgH&!U>az%1(e;P^wt!3M6^m^tfOHDx90Hg}8{@K5&zl;d&rixnToNcNVa( zF)aYQwAM;(BLg7{Q^nsQK{@Ab4NL{=ixVZwfhYRnAz9M<)X zo1T;!I*$1ge=;oh4K$L8mTONJN~A?BK(_n1e9hmFW1_gI$EnwEB<$cuY7{#7qZSD? zq!$F+ry~a(M_s@fB$6I$>WY9e^~@1pl%1WC&G3jlCmG};ojyJQlyc*#^#C1`cZofx z#)f-0w`>)p)hY)F^Hu6VGGu0bG+L1#Cp6a~@B@Z%b{1G%4FsUIga6RLv8lw_l>i2&ZGE{jlIv*Z+w~>{Zwl9_N zCm($1XL}~TkCgq5NPxD>Vbb4Bn8+MpM2!S!+%_OndN`q>OWFjc*gy&St~D_!18XuD zGQW~jS0~*YU{XkumN{*4oBjaj^01SHm?Ecy>YU9-hzx586;eo4%P#-@ zSMI)1J6GNU8^6qkjCM5kH|d@Uhal}VdLEyX0@+5DeGU>c?_6bMB0rqLu#GFUxM`5T zR6`E6v*1vQ58Xul6fz)**sv|KNc^i{#P~h4- zsCaIIq@t1>pfLS2Pv`pq@y8(5uma^?!O=``}$*(fR$OUNKD^=PHR5C(tJJqEh4oz>> zDms)Jk5vN^TA8rHbBI-mM>=Qxyr$3hTs<|gnD)<3PmNzKNa?>47SFC%tQw58*uAe` z`SCYCw+|KyMGQtDp$1wJ2JjPz20+5kZ&$O0eit&L60GUB5}4Q%h0(d`*{d^!V)60m z*)hNxlBPkF7BU)Mc=EZ|_Z~d|%4S-;R)#3BXG_;Va8K^&ncr_p#onOb7R25J(MGE| z(7Ha4Uv+@JaWB`-aN%K|z3sQY^U2RXdx_Re8q}xJGG()%dVTEq7hZhr>&JT~I6!2> T+CXzqv~*raVV}xZvHJf4r8!+L literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeRequestAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationCodeRequestAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b5d2535ffc2c4ccde2740906c97bf39596711d43 GIT binary patch literal 2226 zcmb_dU1%It6h6C~bhC}yY;7rMZ3|)~qRf!erzWDiiJJt+Zn~RTh}3#_<~F(M?9BAe z-Rx|Hkb=G{2(5?;A_$^_AQUC|B7G34K2#CGCm($9K_7e&U;I1g&TMx#khOyQFuQm5 z+;hJBecw6vgI{1cl+gC&su2cKc&isBYw(sYFBu`Xn^LH@;j^Y%JBe$#!KFb9Uy4np zgzxDU_mr^XWu-`=^tc@|<2$^{FE@Fp=zTYM$-l(CAOHMz>-?*Wr_+#Lf!qdjg~Jqg zEI8O#hmt6$T8Pu!h12ZdG-I5&CY)y9esd3CQ;~!#|JUJ*^-xJ>t37J%O~Qv~AN~8@ z@^|m2A#1^5<~V}5W$q#)F%*}ff-!5IZ7{Q`glj&mqPu7m;PrQ%txR(#u<=zK#)7QINvMc#udph;*a7HGE*%Yxs`1C|KR)mI&1!W8;(8 ze}1WuhLitnBd&fd&GY5|5qvB{$V@Y5QiXGEI|xOILY{ViTMdZ?uSKF90*?9axWQC5Joi+yWB zUh;;oc+qhr55vR~xe$M2io|zOpkQAdr=a^EVjAxrr+fH*j?wVHzVq&1>bGnuW}`tx zGMbHp-R<)%T*J`e?DwDDIP%=B45Z7j-}RYO#;)|`0_4;hB3$!bCkh^WTps~iBlumQ z-w}$II47QNx~Fcp4?-;uq;D5>OK3jqz<&C)dE>&6(&UZW*iK}6=4$G4y&X!&%xU$q zDgE!LevV;=jFvWos7eD-Q4ecXsUg}%O*8_R&q?Otm?dobb&QDQBm+y|O&XR&t5&Qh zE);d$6P;!0zm|;^*j@JM&NDxK`o?|OH|U~V!o6xI4jK_**hG-nOo!rTQli1l1rH~R zM;(gerd*s^s#Gs57HhS0mFg_Q%4iHLTj^022(OoES(8{OjpzE7YK9riA zek;<%9uF{2?@a6+Zt0 z9?l!Q6T+e*@y7Ai>4=xC_ba;YpJr~eV=e8diA0mHw%`78!k&(zzPG2Ldf>$2=YK#> Nvc;9!nbO%a{{Xy1{~`bY literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationConsentAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationConsentAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..c5e22243470034816e855bf5e798423391c62917 GIT binary patch literal 1650 zcmb7EO=uHA6rN4mq_w7vRs^Z_ASw!yQ1w|6;cb%D-Z4ae_ z-b6uA5EVoaL_8^?6c36A51y(wkDff}!Gm}a@x9r!n*^zv!(?aX&3oVb-uK?)ucTQD zQuf4DM*4!gQ|AONv5F^VGm=?l!PQ*Gqh&R{5BA~$6B*oig3nXMJy-9TtGE?z^Eoud zW!0qLb0t{dS!6io%`*4X)BXI){S&WZBw>Iq`$(7jiQ}k z#rk3ogq)#QLSjw~<&zSuEEyf#ZP z8%0kYOzUh*9_B&e&Hjo9>Y zhzQGx0v4WAZCEVYXx=VKXUSV%ZTFCW?z43L|hZ*FTmYojjf^6ejYc0{|+1ONa4 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationGrantAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2AuthorizationGrantAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..5a85d202d945cc4b403205ed70bf1f55ddb44cb5 GIT binary patch literal 1808 zcmcJQJxmlq6vyX2`1U*mL!u}qMvNwAH&EDMgabSvt~tU%NHmIby8|~cx4X{HaeEX* z6KgvQ6HRPLjIlDIK^tR1VWoDqHWXT5Vr-21X7;$fBjk*QSM2TVzIpTB@BQD~7hh46 z#}RkYq1CLjLhO;t$1nEpZgfRa)If0)j0Ea3mhmdq8Mc@7tdP+R8K{F3i*jO$ zIZp4ObrkVA^8RDI6CB&(fPi=OSKmJW-rkI&n1POB%c2qhX46;_6NGyLC4&Ttf-?OY zb|Ly6T+2fFo-MnOYs!Ee^nJ|rJ?47ATsIv~^g5hX7vMZ;G74Cyfs{#I%mf;2?6vAH zEXEMvoM?zsW)RwIshlS`HV;Dd@%g!Rd%`*lh_0hV%|2p59V;XRB|xgDhSZqD7}OVN zLQX9p1WXy2)T$wqTLz0E-;ID;&q|eO60#O<_0G)M1;?U`6z3Q*s3(3V`v*3^Jm`#~ z2q=uf6M;Hwj+Hht`wM?}7antL6y1Gy>qnn*8Zo6HTYMLS>JGi6ILBq_-M{zY4PBz3}BDwutHcxU=6Jb%t17^}ILQ$rAD#1y?5hP_< zoOqt<90Rp^a1WrTte}-#ftmw5QS%OB>JQTildoqC0^i+u_Dg(k84YL@q|cb5aU|S6 ziM>3SHnn_u^S0;q`xuI*Q9E<6l?D+xdYNei6gdm|oyMqQ5v_SMJ+Y>O0q3dC?rc-0HnVE&@R5m-GnHh($5=vvzQp*zl r@aFxk-qVvW4}oOdQX(o7U0%C-J~D9WsjtBHx!@-xF801UwI7&2#zS;X literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..dcfcd3d071803f1a70f71d2469215f90083c69e7 GIT binary patch literal 3619 zcmbtXU2IfE6rSB}X@Txi0qakNAQXkby_c3hg+yFRp&J&9T?mmx>+HSL?QQSgxy;OV zZ%HIIkylMj&=B##2NPp_(hv~*= z9`*}XPROLd{7RbXtE=8Ic;wNE;dL_ItalZS&Ycw0P~6Kh`U!FI!DqgLUAvS;#rhrq(}ux zI}RgUr7w|1%Q^gp#AY11c_Iu1TBhwp-5g+AUkj%eJRce>24Vra=A}Jr&!4{a^S5yb zLqeU1g*JQvw5_tVPmknOnkr)t*N=^bfeU;{ z3px2j7Nw#|AwY*9f(K9(PPCJX5JLRQCjgDRnr~S&5Ku0%v_MN@k~jdx7AKh-WugzH zt$A!2w<+XS;)Pr#h1B`TwLmZ4zW`R@s-q)vxnJ>lb8Gt7OAIVnT=(|%x87SkDZ4=8 zTM5j2sJ3z(^BJ(Za_IbpcfR<1S3>qmxesXGf8cpV_Bhxd=!B`Nb0meT2V<3V?Yage zU>b@&Go_NIQaA)>O9OkSZ0e9u&23Q6jSUcEGOhs?-J^gusiKoKG;@Sqc=?ShgB!;` zg_t0+B%}eM*|SHt%I{F1ls>PRI=W?(_UiUEhNWcOe~U(it7u77xz`47xPNZDcvMz{ zp~+72+EM|k?xT|}+Mr+#{q*dNM+1>i#wv zIa7kpG6F{Fv@u5(s#KNN5c43V9>M-M8`$EHm;U+{u$`_*FdVr88B4iqpps!zpTo^S z(P*!331ewy2{be#M8Nl1771}N@Q7*CqD5WDHl#`zo|1{BxtS1XeJc+(_Pji{=OpFY z8;sn`VCT}iLt3;n4Tq4+i3g`!gACnz_umtJcfOp9q-BT7bO^iG(`Hq2Y8!iiVOZN%1t!b(2 z=y`*?1s{tNFbsQe+jqrG@mz=EHcL4%XUp8oMLyDz3kXepR;!jyDe+N!9rH`Y`boIQ zbWi3+cJC2rOB2NUFbt_&fY|Wdd3~g8D<@;xQEa>X2HD!!&cQTgMJ%A;xd$(}{xhS> zeptD^Hgx;O4>vF0QPR+K14?n?P0J30+ptgIU&PiXm<^?F7idZ{Mg|K1xU__snljDJ X>_DnI$k)?NZX7c2+616>v_AYF&idJ) literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientCredentialsAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientCredentialsAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..4a2b78032dd30ed83e1cc4487079b6d06160b4a4 GIT binary patch literal 1938 zcmb`IO=whC6vxk-$)_eJY6%o;p`t~hyhlQJDcDKUeBdh+G7+Jr#yjs_lN;~6_j>Q0 z%u5y_g}Sv+upqYJrXbQ)L0Zyo#Dxo2+FiHZxKOBt;zn%Gxi8L}j51Z|zzlQmJNKOb z`Q3BQ`{5CEYXvG+%dSq8h?dVQR^yFWU2ruI>Pnb(H)eISGKOol#+6HpScwg0L>$=_ zkBkViWw}JAlTzT`q~akxVp7v?ZnYR+;L+2^SN|+txw}~a$A=yr#0l31hWu5w#=N=_ z(yMSYo+{A)uQrm>ls}_bWL_fff%nT_fBbXjW&w&myurdyP_j(UGooX-YLoggOU8W| zVK4YzTu-=xl8-rfZG64we7%gX7sQHtFUlhq=zJ)!Q0MWE0+BFjV63y(rn?+G;hgD+ zlQPKd-BMK>#e$b1`t8Q?&1fdvhloCb!IpD8^kMG~2_xuIM_Mj*GM17DL=$uB4Y^@L zqRD~GM6zhvD_2+1VmwV8tju?*9$cyiH$SS6o{nm9D9#I3mE0HFJRLeVdh_9>VOvdI z5_b#?w}d4d%Kp9oc9(~Fa{{*Ro_+GRb?OA4!zT2m35q(HdnqZ!*2#PN#r?xq?y&EQ z;LJgn78^WG06&c``c3KZ5FVZFh`+(B?HzT7SE(lQOPR`;kyn6%EI`4BLB(sa;iWKC zT({w@7;0;z-LLT(f}aaX%>Fbn(371rEzeNnu{^yT#%|_V@Q=U0{>=Q{JCV_;k-NaGdqpTr!yXy4a2ks$R&&sAR#5RuEWFH83Fko8aZ5oy$1vh_ z$A~R`K+|y%%OBzIzCb(vvcTZj>)YEBg2MOVWzjIUjczw={q#7R7JKaPKJ-wu#Z^RA z6CG7q03;0o;5@I0S|YifeLURZV%B$|=u)xdO%go|W&fk4l8t)=tHv%TUN>xZ=j~w+ zZGZaU*Kgm#&c!+Mc?2`J11AdcSDnqY4<_DfI%fv~RxA=YPi1e*ttw BqtpNZ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientRegistrationAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2ClientRegistrationAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..53b3a07892c3b973667ac61d7d3c30fdae759292 GIT binary patch literal 1936 zcmbVNJ!~9B6n=YqwqtB3CW(Sjexw9~VhQca5fw&)vx9$N;lSs}N+4Y3b|-gZ&+Tkx z$MK$v2m}Qc9R-3&DTowBhysZeQHr1xDX4&sA~h03N{|o*2=U&mt-UkyA-LjBGxL7F z_r34E`{Dr%q#9DCn_ik|5jQVr*5>O#>QOtAbOSpH5prUDqIGDDFtY2al4458B8?}a{ zIB_|ii*}d5Jqu%9emn|bgwDvb5j-_;AXs6Sn7?L(^kjOL-GI{_2-`BlVAVx(Rc}*0Ll_?42*ZB zB^#>#*?$jLqd?VS+Z@e&1=d3q@yy^J4HZVB`VMVb4%)j(d_{RhLgP@@ai^xeR!3XLB!;hF9m0)=|3Jf=O*I{xJAhr-rZohKYj9t# zek0o4Ux-tK=y3vYDrPG)OV!2t8DT`r~sS+&Xw{{;N?dpD~TVi?(@Do znU@HXLS0!Z2nwYNA{0vLs-?7qE-YPi(UsMe%dTA5MHk{m#B=T&^Cp8t1!wW*-gnPE zKi~JA^M3q~Z1E(yB;xOyZcwmR`Li1^HfjP%-e(><>TxB3iq6Qg~>|%>~idi*N zxUe8Y#v)y!nU>;qrpDB$L6R-VBrhzc$j;!!K3`1j{y{Hwcj z_o5_Wkloa>I08iNDT;_HCVPsRq%IVbqTMLXNPdxAMj(==%>k&A)!FwWIVN|ht;kUW z3e5D-m3c*1#uSoeHUbTS5}pPW-9-!_T~WofZvbq3Q@}98kh65Q;VDVY*HQW4hmS8i z7lzrJBddRZ z{_KEu8Zi;UKHr6;c7Bj7>;d-TVjd(PdDk?0uNY71(Ofrx}G zk$$xR87>Ih^4*iCbP1%Lg#Q$-eITu)oM7ZYkEpOcAl0!=;p5O@aZ`e z1SSy;-ZoP*3q?7Vw&0*WR=@AE9_CtDhx=Nur=Ov zZ8k2c1CtMP)31Y!kWLh^6n3X!k+f>rIDIy&;~sdm&An^bfPvny`_?{v{QIr_&^IuL z`a9UG<&J`q-1AzHBs9~mpqUhJvP{W=iQ-^~!pI)W=BLZmvs2kx?M%5^fV2j+9?&vf zWAeslU#{)@u=vve(CfAbqgd$T%EaNw$ca0?26os5KOy4a;VlFSpNG}q>-VpHyE+3d zwVwgF*`r0US}R<+ar3udkH>U;$bzIg!ixZwdQgsl?t&qyF+S4nwo1TReR^tQ3UZt% t=8BbiX|k?JyizUaK%2%~e)4qwlZqm-YGoE|>a+DiX?E5y!0Gze>m|X8h!6k( literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceAuthorizationRequestAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceAuthorizationRequestAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..c6a5770adf10ec3961c6eeb0de429e5ba6e7389a GIT binary patch literal 2143 zcmb7FU1%It6uz^&`Pn3ER$GeFCJ)k7McpN}C?y4*WV@T_w3}v=7Asos&fF$9ot>H7 zxtpCtC=pZ;Q9+0xR`8`zicdnRguYlGr1ZsVpM3Mphl(g_6^nY#on2>kku}|i*|~Sl zJ?DJich0$={6KnqL0)miV$SyjcNR|zT4N1YoXPpjtP3vJaxSgQrTwrLt4!o@;R?P^ zC3hXQVvgiyxGd{vT41Z(Wcd28;T&73GhgCfWIpenVb1SQUcUC{=&kDs(rb{N)Ur4_ zruHnwOe7P&B*VrsU8VWDN zOS0bpu=x(K`4-r`=?a!_PZQh>SPIgVYcWYCx_b!e3LVAyz{B9G*Ed}csAvOKVG=&| z*MZ|O#=*OdvCup^5eQQ1Dkm}*X^_*az7*8_FKNEH`0!b$WZjb>$&(}#JI5@83^o;z z9Kr00DKzEUHZxI0z|;qfQEr1tT%U4v87w9OPlM{)hvMc?++1|j-@D+{T#KLPv}!Yh z`|{54*!ZPe?_?81Gf2vY9Z9mWuxNwmANzlIQJ4oN$;S1UZjUObnz=&GlK#Mhq;^DJ zbRp;(dJkUxdgOyI=|@ST&5)GO*ID2Z_%%}a4DfIkj!t)_zrm`VU2}p}+bgaRa)w?B zN!SUJFi1wQnk$)ZS%UdK#)8eX5AQ(qjHNaLPm*X6sk|>e^+oe_!ipUi+BrTU9!zI_Y0`KW( z6a>=fhyN_T2OwIra>5Y;y$ksjyK)vQJsdjoP;t=S?VPD$5=JAMVrxnHbx0CA zXh+yVlGj*%#_=U&4{Zt4si;rQm*-B+>Xpig@>~JZ%BUhh%Up$t%@<$W+Wp}4r$eBr z*T^Ig=<@n=k7(nEJ`NPIBOdsP7zYmryYkt*XB4fSgYy^dkDHr6UOf(Bpv4bu+fQq{ zh5lkSf{G-88fak-<*G}hW^as|=6XQlC3T$I^_Fl-uZNn5htBc04y>#NLEG-soBM7L z9o_Q=6npyE$-4>uMND`t^_lN}8RR$GPFH{bv4@`0q{ zA5}pTxySD*%YFeLt{vWqM+|K|2 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceCodeAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2DeviceCodeAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..6de83c04b905303d0ea889703e1dd74b0935c8cb GIT binary patch literal 1837 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 YZb)GH=9!kI`JN&22T!V(ii&&5U(9lh5dZ)H literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2RefreshTokenAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2RefreshTokenAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7ede0619b25a8376c5c909f49064a80befc2a5e0 GIT binary patch literal 1964 zcmb_dO=w(I6h8BlpD`Je+7ghqg2fbt`W^}HQmB*0{NR%bnUq3B(>w3oBsabD-t*o& znU^d|1l?LFv`|#&Mi9}BP%6=lD0I4|xxURfn;G=e!NJ$y~|8HMeF6 z(3A)L+K*zc4UD8;n?^{t#?4fsK>xqc32r;PImJTrlms5S-~Rsd<2$$VQ1IXg3j#r0 zFuBNxJi}EN)VElSS&XqKd@pas+(5;{9NaGY-F^Dqlz!Kb6nCG5M=sF$h%W`wyoikX zB4*OSWN)u+cUf_W&bgj+QU;m5Q>kmCnEy129(?igz9v4^N{nPC~?QYXh&GGq3lonv%4(J^V6_%_uW5VuugOSdvF;BlNdoA&b(BV zVq4@rdH??L8+X{J1;{NxQHyPk3E;0)q-R2hNAc)dd`Na8cE+Z1xG zK}rPwIRnFfQ=6!<5>umP%S|SmJVB^udeXNy$4L1Ok#?}psgZ0%%Ni2YXWh2RK@#m$ zTQM}&FxYI*U>%aDIk}8V$6Efx!JyE(i6F6a52u}LM1#8vp*A?AaU9_7 zFk3mhTwPjOtki1ft4lKot8B$bmQIbUYwvupd-TNo*TdLxajQ(Cf{pDrU&&3JzL{8J zUyRXD#<+p~s=vBl^?%U~cr)!Bzk2V=$2;dRg!NlSEM1L&R=YDFUc3Iy?biwx52Aw6 RJ=N!tTYKqE?7vJVe*^yTslxyO literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeActor.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeActor.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7fb91346d487a84332ff3f388572da3a6e131dbb GIT binary patch literal 315 zcmY+9Jx&8b428Yf02M+hffh<;CCVU*1W_ObQ2?UF878}v%pWt}WTD^))LZ~564ac5 z%TQ3HMa(P}jpgsj_IrN+g0|Gme@8m?{Scy3M{kr_2)yA+rnCW|Xf~;Nd{a?Qn{^t4Z zqrbcC<&d30PFOY$0P;mQ)-FLF>M_A4rkDq@pGL>1$`AwYR75WHiy~4Te-{mErv&3x FH@`l!Zh-&* literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenExchangeAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..45f046551e766ae664ff6a45f69dc769b21f25f0 GIT binary patch literal 2354 zcmb_ePiP!v6#sTNX*Nx^iLFGWjbLa+#mt!KX(P0orul;-8?q^dh{i87U$T?T&P>1W zO?EayiJ(^nC4#8nMG)~M6eaZ{9(wRpd#DJWy!4<41@R*4d*5s_yW6l;FpweN%zN*9 z@ArPc_wv~+L?b;)a@9>^_22|JQ5G>m{pP@TlH+!oTHLm=H94sPJ< zlkmZ{lViC=rpv*W@Gr%7mHQil-lP`#)7Y!;tc;FaXk=O5V#m1+fzzwvU}9Sa49jS5YD--a8d=Sy-`|IAdwkIKy>@l$FKQw&IyEQg%w)- zgk!M*IwQ*95_3jcm~%1kJnTH8i8b{(0=Vm;Nh>GInj2Gb$WS$p5myZ&osqh#vzPr^ z;JE89U-N|JD)@8g+{E>t-yF^oYkNF=18lhETC$<)pSpjz^qPmK+3vS5|M7?pnz4zf z`8dR+PNh*wQt}2xk6-(4^u3$>!yL;jupZ^^2rK}9>OJ&~$$1!E=expR7i*nrzarM! z(Vs~$qo|B!y)4PAAVn3x4mLPSB`P%pQ%#1F8EwS5-9a?fc>DZ$@6Zm1EgicH9fNGponT0_%q=W>^h8 zCl1eF&?RK*c`5{dGr$JzNI_6r4M}L}ahrRQh%wdkUEymEQDVM9ptb9qgrslOs3AbT zI_x1hW+eThD`35-Z&yVfuDC%nVjR%92sCrYMRVw4IJgY^ z#WK2=1GW?nX^?xmll|C9+8SE*lx)8yQ(s1Z9njAqjF8hz%VAd2U9-~YP->*lhEZ{A zp(pep6iyQ~Xtd$fBLgql2%1AnW$V&vN#8q$l+wrP|9Wjgh|X(I@4tBWs}IhgjFHs1 ze40t>7FjIsDivXpsO?jUw!y6lbHP`DEy96;OKP@sak;#-x>%}Iu9TN%Fs*{7Cs`U5 zA@^Q-egE{>{O5zH$*^7^+Of@@=by+-JoizofqgW@I4R8%>n*!USsT%jN>Dztt_Iuy^-q+W=q(MotEMzgQ z0?Ga2oTMcN@nTvrr!2W%Nef!m^8*meB_`7t2+3Ee=E64-^EG!W;Y0>gr^O=kM?ziE0H(H#0sQIZxix>(ZHtq{ENQJe z$6TAVU<}k~&Y+8vRb31V&ja*881~{aO}Pgt$15ow&}2=R{)WOJ2J<+J1f-FGbaYhp z<^7Uy`5dPOk0CMN+xsuR`LfXwCo!8OJ$Q1PtdSV>d;ZS_qQc!-vi|PIw=0A0dL1JShsrV`j142k_If-{Tl&woO&gVcvAgvrP1s)rf z)Yr^KzLCBas03HstMny>$7;FCX;dn3rAhPDggtUIpBtG95qAp!xLOy$GAkSv?F=i_ zj{0(CKoJa3XRBl-0U~x?$&|uxwc4av!Ec!Am}?#&pvFobAUk|#vQy@M3~EMH-KvZ9 z|JE*p%e1o>&u(7oUNA&9Iv(XEkX?I~GOy79cm&q^qghAFsFfV#etog^L+_=s6{(c4 z>r>`m2kK%qJ5dIN`^I310|m23emsCm%oAy?;FcS;*Cuf9I<2&^hqWhDr*Wiui-F6?3Xg TMU%EWz7WCPgH|<3VwXPw4EAY< literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenIntrospectionAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenIntrospectionAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..f6fd163186d095331ce2f6786986822ece9a6901 GIT binary patch literal 1826 zcmb7FL2naB6rQ!?m=K%<(gs0NgsOsC3GE8hTM(_CG>O#(r*TjupoQ`7kW4b(-Oh~T zO@yK#l`A(6NI`-F5~_LvaX}n{IB-Bcw1`XpKzpE-I8;a!RlGMFw00z1)rZ}knK$o! z@B7|+{^?JWQIX`MAgxnwKmH6+(7c1Rm~;TWvtGLtqgLdjRD=3!t~ zEYRFbmX#u!&W1}YCZm%sJ<=%ozFx#R=t`y36an5Kw8GpRJ` zcNgh0bsCxr=Om3rUDEFf4vwY)s>dTLG&$x1cxM}U=N)**3ng>f!-JcgMu?j1NdgEO z%sW+$`NLtaIUEy|*8xMdv;Tw~h==4jZR9xbV*_FoOpMu;h)wZ8e^1s(HkM?vqYmgi zCDAU{l$O-f?a3K#pZ)mhS}^JNWk~i6DYV>UKBTt=Qga6B4Yg1_77CH*1qky#)07J^ zX(g#rTLg>II3iFshfy6H)v?p7>XXw!J@olSPHTd>T;(hb*dx%O;+1p?sKfx&i;798G0ooBQhidQcG43H7okQWJ(#SUDBiA z8|uC6C)!7vbSHMY$&$d}&f3%^mO_!0#BqOmrlurOt3P%tCoV zL$woR$}@3IEJIJPCz+3BO@$#R59Ht^GVP6t+)cU`CE1S`R1u}17hnCC$Q zRiw|P$>PJUg0)P+Vwx6c1%=I*88}Va0LQ#t3PD{O{CrTZKi_!$mvNU{rlNr}Atrj; GXnqT-0ddm+ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenRevocationAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.authentication.OAuth2TokenRevocationAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..5cef5714c27e14289d7502915acdb5499c0193db GIT binary patch literal 1293 zcmb7^zi-n(6vv;Pgi^Jk6$K{+}*qPKJWX!_S^4JQWDZcZa6BH zBHmb+tjXJn+;$WXT2kn)ldzWFoW`}>;nJZ+BE>G#B8kn4$65s0vf@!_J=x}QmG30k zF74$p=J3aXeD`W|`l$^CAI5@6;Q0!c4@Al$4bwgXxrcz~TdN<`uBGwOJ5A2SF#escOr#ZLdHI$Yt(EWu?J73;h-HR8) z6WGojDEHjsp${XpM#Z$?O2e6quBAof&LvUA1JV%*heEEIh%ltLfl6ZwBW60Og=4xx zjX8AH$*-zQx8r6Kigm#n5%-1Czs4?4efaid+y={sVuU*y#(TaES{9COW8Y*KA(Snz+M)>T85$$yS$SE{@O))cIfgbUR@d} zf15WB+iR6K`qiJ$G^4Blc4UK%qn5mxXzqof$ zs@Z{5^gbA=$YoupCYou)7bS}|4~fleXGEkCxk4rp&y}cF{F`f@se2lQG0WNiExUm4 zMj{WFo!r0s_2Y|kXhs~(FzIJ#{*2|gP^yKH=+KGGp;|P#yBsTx^k{nxV+-C~y;5CU z@oKfzN_8Hw%EodO>D0JuGUldXLBI08aDQJ=6pP+&TD=LcL%~;6B3+?g9eC)K7@R7Q zK?^v6hafKZ%_-*@9vP@*a*1RLq{l9q34rXk`$HO4yb@^o2+^O;&nQ)A!2|#~VAlb! zF>fYPfDCZqUc2x)ys(DO7D%rhDKTF%XpG&{Ja#6Dxnyd>Oy&xtFP#Ly!|_JN0!rz% zN$I6hdR9t&)>3*cy5OJ%@urM~sE5HsqFEj^$PC0nK|xeR9f~YKDn86fo+{Ie`nQkW zseFN2H?+%xSYlBM4djLYf$nTGguw(Qz8tJC3;1T%tbX3@G_?hAwv%9 z559Hn&G**lvV`!;n4Ze`f)i&Meg$-jHAd(FYxvmu&)~&yi7)V~S zG8(8lZwg_`l1Cr6IAPuw0ZYtWxB1-HLNS9Br#hx+&9qfN?L_l{_4Pa&7dv5ofhz7N zkhY#Ph7|HfRozl;<-`%jT`%<2?%N0*%?D5i;PIx znfEnz(Cl{LFn8d87RaHLYMSPfE!QzeoLCA`c9z&0 zmct&Xlh&OSB4jlB_940c!~1{ziriiz*5*l^0pe^2*J5(V$3(!0H}!vnB>HL(Z0~s> zBUOM{J?VKYp|v<Q9z1I@DKfUwMZ12slmbA0AjzdPrL*{e1QSn|=@qVm$50K%F5}6osC95mu zG@{AbjHV+%j<+pMPCWL6<1-1ED+)|1$kwW0r%-?=gL6SZbPsXojqI#`)5@WclSQ2KMU6&)2`d z@%hcI-ZFiPg=O7gKzYRQhtg;p&6ZN{bkRQT7=2Ov`DgRYwU%jb<^ZMYK(8ZhFacZP LK0~Snw(0ah}H>O*t|z1l_BUwkSG@qq85gPb8p{zZ*zNZpR;q`GljMI zFGvat!NS^Fv9t)b7XAYvMT%5HaP~ADk}g{eJ3qde`DW($C-gXk6^r%2rKpqo28yO? zTWkbQ$rftb4yjAPvENRPeq3*s@{lV-uQWn89l_J`7qKP67HJc{7wPLPWu6n> z7I<4QXN^(Pb8zFUNz+DpLyMYG9Q*6==nwtwd)rBvYi`00C&fX=JbXEAE94Jshq1|q>y5Ym30XBYAsbl+ Ew`-QsF8}}l literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.OidcProviderConfiguration.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.OidcProviderConfiguration.serialized new file mode 100644 index 0000000000000000000000000000000000000000..8aaf9d489c85ccfff4f823be858eefc2de5aa8ea GIT binary patch literal 818 zcmbVKv2GJV5FI;l97qI7gc1s%h)6+mCq+O(3J8`WKsH7ggg~In`gVP{_WE|&owF|# zP$BUdX+RWw0!0vCKud+_DJW7QA?D5r#){Ig(vGyd@6FD8Gar6H#aVcyZR9y)WfFBP z>x-ebJ1+qWdigwx*Mgj8a=Xe>b&P zm3NPK%K({$_J9Af*>-4Ih|SHsl05vapjA}W5Xd+~_IkH*PJR5gUxrd0Wv0z!CVkCiN3ymOg#G#U{cqf_-YgQ9`p@Ad zlneUGm|mAjPw-pJ#YDKgclYUn+WSR>CosptP&n7LWDFUwIOZInE7h-`J}+;7nS$~b zoK%|eEt0A2Z8(9k6)x6_XXg41$k+UEmf`~KD#DC(E)^DGF-A1*n(r$eG8Jow2+I>q z3Pi$C9n qL-gDM>H+;oq&3Ndkwhn>gl0ZqDhdWnr4#i`q^R6)tzWsCW$*_yDIygB literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcClientRegistrationAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcClientRegistrationAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..63c4482bf0516ba3ee04a0433bb0566dd399ac52 GIT binary patch literal 1972 zcmbVNO>7%Q6n?f7CuwRL+ERo{k*Fvl2<<8nCju%?LK3%IOk$w&(5p z`R04yd;7&L7>+fpE8TM9NQ9fPn(rQc|Kw603LcF5Hlz|5*z2vZ zb>>PIw%nQ_R5KpzO`rFsH1M*A$lV>t-EHJQJoNdwb^ zi}*@&xBqrCiH602oD!Cd4X4~Bntaor#**~o=TBS=7lZqdq%%<8;Pu7{Ox$ z2U6bFjF9e}l9Kz>BfQN>zzq`;U3#glHdoMNCW&$=fyaq*heDk!G=A(<*inHvFIZD@ z4|{og&ylIGZoW5>hnxpP5-kQMddiXy-TtY2r_0JbGz)Lsc>T{uY|@;60WQLD5+SI4 zS(dWatV`LGH-9+v;dOSY0J#bb#bT2u5#VQIh`tjFE@9}>K>9a$bEj%g^JYK$^C@SP z6(BG3koTaZc}E#u4g$^Nm}(&nV=?|mqAP(lB$0t)>SubM85liLKVGSwoIi!|>I323 zbK>r<+jpM(^t+FC-PoT;9yGl2ze{YZu}XwY|9h0xrLQml_REE`?N`y4Omt9MdwOJW zf<>q+yyuaugIT}(Wre=Ke|Gtf`D0`@6+nk*e87f3n1y>HT;;(Mi`y9R^wk$%n~+!k z!hkb41ip_QsOo@gy!ZWC%$E1?$j{$iJ8=|)&U!~QIF3Wo%_d$M-+*txe47m)SHsxXIhwl$dPnr!$g z;EBOq>nqGe_dB%hS+uq(e2U@=@pnA4W9hU|!*M8aCrDK@@$XU^k`v{D}n6%J~z3Y+gQnXVyl(SDq?e}it z&t9>BsAdPEq6KQFkrr9ksfkV``63a|1Hxv_DIyv}T0B}wo(3){4YAaM!qOVw{ghr5+9Hi#Z40He){cOYCHX Id9oMM-*Q%}(EtDd literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcLogoutAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcLogoutAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..90d15e92345d207030284005ca870a73b2191096 GIT binary patch literal 1942 zcmb7FO>7%Q6dteh>td2p2$TQ^L?Ixwt42r&r4l$TNh}tO?37C7rycK3;z`Ck%j|Q# z$)N&?3m0x2kU-*sKqx09E)|EOR^q@3xN+iyIDilb#DNNUZ`SUvBQW5D?U|kT-Z$U( zy|)KHvB|`+9c{MVBsMbI-ZH!^`r7Qei3oZ|!k(*n4?4@ZHkX8PX`zkW=OA_DY8eK0 zOGF@pY_EZPzTVb7sNvcC!KU67(c^FaeB(oTaM5AYKAQ=Y#OL)8*lqp}zr;PoqiwGR zgk;5M(=xO{z*c;O=pBOS4Iz3NL@&@rcm&BK4D~D+^BfuE*^m*u$}Y2#&+dqI0vXDt z2&EALoHcUraF(bDWXu(?-^6gvnpBk6Cqxj)~FOnkpNrB`0asI-f68A-WTx^$Dsf&6&@){ z&}i@AiIp@ip*DBJ-yUnomw zR`B+Z{(HK-%<)zB+Ly2VcArgJ3W&kUG)7Rz@+>uD_#S0XU;p~vcfR27m079ICK9%F39d9On3}YD8CqsD+_H@dvseGC~>y zo662X!6cA(0>XP@EWANClJBzaD_H$|5J9uEcwotz3KW-J)OD_)!LvLj2~Pdz5<~Yj zh=66=jrpz1=yaqQyCEn=g<@Vzcp|q) zZl+PsA{W1W@X;Ue>-1{ot}cmoyLH!{dAKj5T@h~Zq=NyEU48DQd3E)73^hsYmme!Rg8AZ$H1baPg}$bJkczX&$a&BWqJgjP@koHCY+p^3?9&Y2ZMrg|S{;kZ8kwNcsM>Q|vKuS0ZqPgEnc=o2$Tk{{ z7NgbBI@nIlhX3@1nytGuT(17#vY9T2%PwAd@rTdey$2^6_V?^fkaTOrF=}jT?YXtu q>CHy-!t=FO>s+IG#)2wX_2JUVQ}3siuZLnhKT70Lz?U(-CjJ7XjgIF4 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcUserInfoAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.oidc.authentication.OidcUserInfoAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..87b6469eb98552882d174c34e7ad2b8ca98bb4ef GIT binary patch literal 1623 zcmb7FJ!=#}7=G^~o-xKm#fU^L{KA0jq6mT!^b$>SxO$R{2!7A)PLfIHcGuZCZ<9h) ztnDlW1sg%cO0WqQ5eo}JQ9FNug(4PWp@{E08`--QC#KjiGw;XqKJz?tPrg7$q(BC0 z%8EiI{HaOBYP=DsSu5ghT?svB1+1>8_u*Py<;tQ(pu{}WBJiz1c&^#vz7}q>SH`{5 z7+vxwgCa(!M-#y;_uqa!@M6`?fj3#mI?zc?T@f;=VV{FA>}4?Qzc6e!P~2{HTLrr-1La%r1QLva1| z#UEQu(TsZqu0cKy5!Cv$N>M2`N7dsS@3-82#qQ@IQ-XXX=6M_f{x$OSjVXCGrjE6x zzrm}^b#{hVTiHLFa7I-DveF2wTk%?;dC~I}kCxF{(WH1}yEDQwB);Skm^E>zVMUUs zo6Zp9NL!3eS54lSz#GQ;tr(3$5`>U32)kUxJyI5v5w-7Vc7@q66y-AJv|zqnSRrTl z%OR?vwy4NAhB{K+oK+FEQ1Vg5e9b+=X0{VV#2KkX1(K&sjF+8bmx`uu9};7hL;u@$ z1iccdH&V71*Z!?OM-U8y!pfSDC+aikU2oe>$K2fX|HEx&uNF#c*frg%u;_yUy z{L-mnrE;b`eiUJK8wpaRRpIK+gW0#$&RZ?TM`WIurJ$&?Ae=iIr zPOA|!+fDk$G~E&YEceD(G>r-S7f+t=m5V+5L9{bdJKNdbsoCzD-HiwF zL%a$(_zi-16b~K*@gEdC=s`j3+1Yky6($}Wm|?oA`t_?^_VWd4`B<=|#2T6HF5}-QoA<_{dlTR4%QttA4i{TB zfRTnf|KY5C!&-#w4v78MhaZjpw;Igt!h)m3u)KR91|rBwE>%M@b+Jrl$w7=A$7UAcK!)hqcCw0x ze`a>UffZp7%V7*xs+p0DLNBuldNOHKDa%HXTXQ4Bb~Q$tnGQytlcV6Lv7e#g65^uc znF=fZW;N!RS9L|3K}bnr8?sc=wSPcW6jN3vw)`8Ya51b`!}K!6GF9kFV=~mn6H3t# zBReidzblc%{uYr!k-S~ePv1ZL{@ISkeW(wF%5and!$$QPlbX+pI&J5RPRvQsXW|&9 z7tM^rjmp8WYk$icoN{>9Wf-njlPmgJT%#zrAlavQL5k#@Ea&y__)@*JrvwO)!Q2Y(SRQ&$j60FvC}Mq*$|V{DgZWhF&mHoxHhwcjp%qJ6CCNDln>$*DKZ=(hB5_PeS{s>T$TR z2+2wJa`qju*D)|Xw934}hcObJNRn_vLTtD#(YJm-2Pz&kSqV`I9$Ze*;q~$BgY~uz cnJ!n6h{Kct_b<6$TXH=c*KS8Aneq^S0MhQY<^TWy literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat.serialized new file mode 100644 index 0000000000000000000000000000000000000000..111937459e38e9beb68c5f5d6ed0dba762c73198 GIT binary patch literal 150 zcmZ4UmVvdnh#@$?C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qflKe4nV!wASPDoZWW z199?;GOH3xGV}9*f+ZzDUB!C-jvz%L`Pr#?Zuv#Ii6y61-dwwKYwIT_21XwS*0RK$ s($o?LA)lHj+lI;Khs7h>Gq+Diy>-O~p{5Qs~x;AUN5bY$n;=+0ML8Ru9F4 ze?h!>6+Cznym%4uC>{hADgFc%Ea*W|oY{5TCWjK}!tOF}=6&z`zIpHIS12h7%R+iY zMUsbJThf3HgzOQ;oLF+aLj;YnGppCK&m=JmA^Ba3T!cD^sIwGV6+IT(|5u+M{#mVT zzU&nN5(z7NM{l$gO6p)*!tK64CnRl5-e!sTsFTRzigzdwHR7k^AFq>zPR4c4KUrXSi)U!`10M!grHs{xX=SGMLoggZiCBIG$4_X#66Q#fn*ywM~|l z#*}89mGo)okp&@qM#Hzq7%etpyIZbGR~{g@?D0pa`zU@~{^qUA7&T9`wTSuGKV zu0MeMmyMlZUBdi0_t+JRk?uedJI83`5XKGj zOs8E@O>IpzUJc_Q+sZa0gwl#VJ9h!$)Ck3$LM-F~(~K>j_nCHWDn&FwVl(;R*8LYp zXBMATbhT(ORmchy&YFLMFtZzQTgZT-hP20#y!&7*H_Y^;5hCRwa}iFD&>m`?VMEL3gVQ4sV_ev)uI@_J_x-OQuwn^nhK9n%q@&@0)C3<5jfKS^A+ZWaGQ7?58M! ziIJh;->a#Tp^ApG&5o)(BRKdEWMBwIv*Lg=D9DZ%dXV#Bt&cV!9kVvk1I!)gDmwIY z)5pa_E_KeXvzTE+M^hE*{uVpSWqr4(GY5MjB^wi3p^*o|sg8ION*V-5$A`PcG)K2^ zrzG~~1jWBBTohs%#TPU{0U-6>bYTb=hNwr$#|p`G2|~g{`F0- I+PbZM0{NevE&u=k literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.InvalidBearerTokenException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.InvalidBearerTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e3c684bcc1129fd10744b1dfc02aa295348cb0ce GIT binary patch literal 17543 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.OAuth2ProtectedResourceMetadata.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.OAuth2ProtectedResourceMetadata.serialized new file mode 100644 index 0000000000000000000000000000000000000000..25147494b2c247aa38e04dfb4d5fe5fd2035f26c GIT binary patch literal 687 zcmZ`%ziSjh6n>j{muOCm;4iF1l0u6;5GyUB5rWDk5f2+tHt%L%ZpWM5*}Qpsw_1p$ zwY9Ba;h&%ov9_?V5$tUg1Z@=5*}WWxhyy$D-hAIT^Sy6he1?W&=vwZFE@z$fw;59! zSssLrRKZ&AhZYM-&iR^$#37Tj1uF_SFIVjwY=x9id~>hAPJ%HC{(klC$;YLapJpKF zKvNmisS`NVxrak+7otsj9rKH2?yq02dSTTIuUKQeoVJ-;x|O9i*4r9;hCKG`v**9$ z``l_R7^FM!5Q3V1d`j==Y(Vik!fjYUrO3HWj)_Z#!&A;4x-s|R z^_yc`?`C0U4GtKK@fs?zd=2(X;!P*k#AUv6398i`&HKIjnga8akqDejL~?hb-8NRC zNvxCh^zdjkN6Y#FR{o;#Je~J{Wcrw~fsS_4I@7&-ee3b*S%5Mh?ekX!0?YsE|0UY3 zGb#lZow7N($Q5~R*~jCmc`ZzI8uhWqo#+uVag>sOTKr#pYYg+*dX%RfoVbcI|GNmZ zCiO;Lo)zOFWi(|HDPr*FLa! zx#ynqo$otmuKY?GJV8!!F{OE~u$-xapk-F!Vp{W<;R{R7YMlDA*bVn$h6znDkNd)4 z8m=-&S_YLCceH*+1ry_ZnmOqOPl)=}*>xn5B`s7+VdZ_vJW1NJB|1ZOUs|?)kh*<= zAlCm7NjmRIK@FM1IJzGYky?tvN@mFlLogGQp*F}imgt0cR!5VO7rJ-vpW9-^lkTrfQr5hgpbWU`C!t!1?kT$RdqA8kJCjF_wH zNb)#ojqPJ5q=xq#3TYwaYhsWOaNCC5pm>m8qsb(-Y)>T@xCvmzCajKz)zP9?y$usi znVVL@qIsKTEl=KU+qnI+U*2q2^{uyIMUwW|G58KT2DEmj`T|#y=A*gn(B#C}(9r(r*Q-N>9~RPak-;vt!TI04n3~ zts#!!Z)3#qND&K#2l&o)y?x`{dvg|FogokL|;&cc?*?})BXlh-!m78KLq zvXQ)x0#QjKL_rx1Gcjm@dEr!mqo$X0)Z!6iIZ|-X4V#n}#*m4x#Wcdq!?gz8aFG6Z zW%cK$RP$&una!rC1PYEkG6kbS7IP0GhlJ4ALuaOv&mb#M->#0M2S>br_>W5$wDY&1 zgD;qo$T2`Q-otSz1ue*dIUP}O8I*wud;5dS|HwOy{b5%vEAJ|qj)*s-)GNZP4UIp1 z_4S%pZX`+FFln(lHHTrOa*-j;vIvqXa@!2t=l84XudFn||91FmmLy4i6YyCZxm1nX z+ikOT$ooe0GjpSXeRL$?nfX!t;@w%Cv7kNteB>&%EEF&vqY zWK&T}*W0V>u7G}MK;PC_K(UQ$4wHKAlLcb){JbQqkMGR&`0n9>-rgf3T?)2sGhvF5 zq?0ei^_jYPdeY87ZJt<)lFlxf%3XBe5Sfj~pw+OT)NoX8^!b*h# z1ffkF&Az*F_pY^fe-cU3m?2F?0D6F%3`UmAg@kTIYr{s>6>40t?6AggUF4o>LeS!y zFimc7^(6xLNx=$gOW^)n{lRdmim3*K!OM~)bbN0R0#=B*kXZ`KYRxc+H6($8x}U>< zqt5lG#oWz{fBpuAI$o7Fd>TM<&^O~qk@54F4^@$BHf#$%izY3ArQPoC=`Hni_n6++ z?jEbOLy{&R;zI5Mb|sUuup_o8Z`+~bJ5MYvETyQ$!?~}p=Po&Ss`65e6G`Q7l_V`= z1G&RPlUSwN(u#0NRjjtw8m?8VhZyyuS*Mh;)1NU11 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b15984128591cc8b6200bc2f6e31d00edd0a0548 GIT binary patch literal 684 zcmah{u}T9$5S>e+A|WaYf`wKp7IHz`REa_i99XCb7Q)`$7*{X1=j_Cs7D0c&-ohUc zTff1=PJcsd8w+7ZdQh}?W!jUd8D@Khv{^>w z4HZQg*p@0DjD^TTMkZyj)@}d9WK`0`G2SiP9$X7``%t~O7q?U>kEHM;^rYs`$)&Z& zx0|WVfI?&<3{wNLHph0q`afM?X08TT&xaoi8L1PTK^O9AVv3sSvs8)1g=J5#U*>P0 z#9bbo1{Acs#5A!}=@jglT5!=oxBj%hgZ|IK@1sBL{$|fJ%L-sep7WqY*iwwuFf{w4 ct(Mt?ac%yM(Ty+*qzS`lFOLV__6Y$B*I;6fq+4?@pO?bBIDNb=6m2ef?cOz=$Q-G1T^LMmlY`NOiDh z=)kuabxHG)Z&a7}R^&{FNIs!8U5e0mQA}A!inU4owWet{o`k-b15AUNd;Q_v>X-+W z0IDjA(Axe5!%VQR4pl8tX}k8BUGsVX9VV!w4$`>xaq25sg(!s*TKuZ2EnDRK&y^Grz14p16I>d2wzXSeegKh$LzN}Euz z`WR&ZS-pz;=B~IZr5i8G-^1{^Q@&#ORQvXC|IGKAdGd{wQ0y!Xl~g%K9VRrECbV(jU-nS`8zm1ba!}@qk*Z^H$dP6S zfV36%1@19(%$GoYmBLysWyG8eDBdj=sn;Q#q;ABDN+9V*ZJeq!CYV^hy7Y3-{?TU* z%BFl{l7!uBKbPb6{yT5iV@;wBN7rwEZfnEx!mIZ9CJpg%wfUNm2+2`-IZThFohAdZS-?opsJ{6OSz^v zJ6-ef^_z}st0|HkCiQMWonbuRffyrokVCz4f$PNKiIWRc=hg9^%^3%OcE4@zg%%M6_0-$Mxyk=P*;{wyt1CIO@8^h_vVN` z1Gr@ZNOuk(l*dgIx8}^pJCeoJ3teVlP7o1#tn_KeCa2oRU8*TDYh9&M?XuWZI15}A z9>m#xc3L%6p^UOXTD-uX>jgaFz1UYbR!p?Do%*@EC{033gIE>L6m=0!l^^&lCTg|T IzmLOz0DdkDwEzGB literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.BadOpaqueTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..674e8e214bf076144f4037f76cb8d08ce534cf35 GIT binary patch literal 16849 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionAuthenticatedPrincipal.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionAuthenticatedPrincipal.serialized new file mode 100644 index 0000000000000000000000000000000000000000..aa140e896508f67d26c9228e50bc651cd266b4a3 GIT binary patch literal 1434 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 G+5ZK$+6bZm literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.provisioning.MutableUser.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.provisioning.MutableUser.serialized new file mode 100644 index 0000000000000000000000000000000000000000..83cd4e1e78dccf703af6f5cf1df22507d2e72c17 GIT binary patch literal 186 zcmZ9`F$w}f3T(Z&;$t*ByCc}ZqooxQNb`!!)b~ZiStsR=tJy06m5VceQc4Zpf5pl zzB6;@&iz?(87WVa9**wLJ@@?0nKNh38GiSF#9dJ+_6Ol?CF+EJdv+%DTJlN|&Q&5= z>xRBstVCX`d7x4S99yW#j`D-{RCW0J=Qh3ce*;1+gksxeZ{Djkz4mNnvfEaEOIpNl z{^8*1b%(D1w?@1_L9`hE{_CB`w;g@xhdGR?Mi^Z2rknD;A06KN%$2wQb(L5>F7B#% z-AF32c^tHc!F1SS9vv4O>QZ@r^PG$#ZjI(StD6_36m)hDkO<1Ul{!*lNPpHV0}XbV=YXt4wXr=B==?AN=W!RH+z#OuUndt%Al2j1FuzrN?l ze|~mAtT`bDXM(Whsk35T({Ic3-PW`W$Hl$1rWZxyfmfH|d75zubl14Jr!MIQjC2z3 z&FGpLzbPH8buFnHK|M7R)VnF14J{tIB*Tc@g$XTmN8X zNq$?&uG?)MS zyf%`oB}wuETsH#j=^=oX{ghWDuT)}FW`wDO$aYt+mzgZUE`Z(S2eW$a3 z6+fSFwY!`_P~t&NYcdFwrgzqOu>08ve@33u!`5SA7=(6C?{j||^&Y4N?YfV(=QU4J zkeX;SlFNi+#t=BgdJbh}bJ5>5GVSOg(@4iZORJo$WuEMOA9TsQWi4_TPe+s()LdPp z&lp~(!K>%KR^<(^YPPwPK`2eMvO$LSo+%1D6nKXFM>ZDRL93c0m^|4HL)u6TaSp69 zip8avE*caKhcDOXl4umlnI`#4Wz-MpzjGXJ^?Z%g;;^u@_e&$fpx>Sk=E#TF@@6sZ zVc#4)aJaIsa!^M`;y!SgxIdWeCNXQxREZDh2Rj=tz_#pQCv0>b_(x;#VHo^!x9zJ+ zr|BtdJ(XI}Y6b16f_<_wsTCu?x=26Cu$wX?M)dVsbj>@q6~*xZb~uXThnC=k?V19o z!wlh-MwECUVQ0pyVrLyTf}M-l97)(*?sk0IEGm)%LnUUSMNG&Vy|xvOTV^k~%$_sW zJJ^$%Tp%ySYOH9oXK7+i zUH~rwyhPi%#lsp$o~aG#e)VeZtL>?;rX+m!-+CII(Wej`2)G8d!5q zhUM6`=4r&>(L8uf3YEL<2u(%qOJk4CCNBzRE(LyFOIqINYU#6y`1nttn4PkkdX9XUZeV4B6cy6KxwlW$9t9;nyfo#_)07v@ zQHtySH0o_PrZ!qmBCU!1dD&bnA8OTMORUkkp(|fHY_uO5-+ZB zn(3e`$$_O;KjSz$CSFJPAf()M-bd8}1)2VEW1B|Z>6Y(qily~N%u6d2({;b{sGRZW zusOQe_F8_;l@-)KnX}EWm?^-QiV;4}2&oirso11<;MhLM3(Te*53&BBnVO=b%mv^p z0AJ0y`KchJL-@Q;6_T=bbENBUQo_8E6J}0nC%7Qy(RREcel!+e>(5-EvJvI};E>6g z#fk*54h;d`Apw3b5g=0JFs%y7JLc6I6P>7RAIlRnls?doY)7Kl8$3ElbaH}${QE?H zPmVm%k#vly$qRl*qLfrVSl+J_>h!oZH!mw!Yb`r$@hyPY0DgO<_dEFhZvZ%C6;T>| zi*$J`(PbnIy+zdO%J!*Bbr(vjQ2L?W+YTEu4b5n)PRbT->y%}IT}G!>j}Vi+2@^9P zd4rvyb$js%MTF_af#4#u$zK@Oc4qkna z*2|U9>rfJRviBF_Yb4I2IdPJOmaIY$eT`y>bbHXSDi*pfJa zNtWqQ9hDDI!t4At3uT=O7f0&zR3YaYU&ij6PO%|=3`4vJaGOmtx(Uxf?;(IVd5AMc zTK{p@;AV`K%m?_HN=MkHLrQSBpq~R-oaG?la*t#?`Iul*p!7?-Gp9H|W<~oMo_?Ma z?S@6r2Lk;3l&jpb2{x}6HdjL7x=TTy96~c=;$NnNVDm(f6L+}Ho85n z3`6`cK>tPs_Al>PGk@692T_wHQzp)aU_cLGMXDXz(mP0s^L7+4sT|P<| z=)RLff8dI*8cq?m%4bm9)k5IoK#0I+^a72Pl%Hp+O6)6``Lyv(iDBH#2z8AzBZaf8 z>sKtngAikDPJ%j1fOkC*^gdr)(aMV0l(XCtNu=B|Dzk&dg6ix*iNniU!kV0pq6wp| zMZ+PQ8hc-Fx5d188^Kbu#( zRBK5qX{}3#`=wsT9#a~Qd83@vfK|kCfad{T0B}<D)v+mJ8G#B5K?WHxrSkMh9^8EXcn`4Ffu*l9{5_)H<{$ zF9>snO;d&4rT{L+Mnx9G0b@vsXN?K^5c)K4Jz6lHF|j#26kDZ~x^!aCuqE74DA65- z)u=j?IHA~CT)-J?brcu0ufDzItz&=t&Hti!x6oOj0&|NdkS@S>;R)+Wk=N~QomI(^ z^gg`Z2#`t=^q~O5n*kmG*y38nN-8*?*an2uwY(!383MpYEqJ5e=~B3E5qOv1jh`tB zFBc$`9SY_qAF%cSaCiMN2O)P64_K+&b#Gf13568Gik5b%LIu;|`x;>J#G1t7nk1raW!ISI3 z=5`i_5r)Kg7Qx)B!ti;334qici03fE2K#+HO#)P7ZD3J-u?E8z0WRebl0pwwk$4Fp zm1TYzBg`T}_yd>4s|5(Jx(JC39|x)jFzq7f8#Nf_BL*YbSPd;|mIZf|@>m5 z{FEKo;aCfO^#llWt_-{&G6*SCH>?bakST=erQ6EuL-!vo|{!`U`-+1mNlCFq~XR&9&Bn_*X8K zcbLkzF#Z|<#|)PWSoPI6?Tb=hNd2&*em2B?1E6P%jr!4e|Mvjj2Dkx`(XOwKUVkR& zNASKVQR^6z{sRE-&9_-+iJY#lY3a)gs9g>_z60<*fIE%Wn^@-k_&7CMVdozMya(_; zKxW7M4hr!dn`wf3x9_G;@rIh3u)&>n z8{95AIV3)@(iZU@Ymz(hUtHdtHTy|O%^!7=$xC+u48r)SFu*5btn$(tfVEi!(*VRf z-F(B-1~(M_0-rF21mRv6;rn@nv#k= zqzuIl&lGwf@Bwcr1eBq*p&kZ{9r&4IVS{?fHh0o$vQ*6C5m4acNb2BzE80V#jLo6+ zIDoD8(CSZhSn%>gv5E1r+rbcY&|lgv1YYXm>VCXD0AOF@7;!6G6d-%qtkFexjPn*!LOr51mMX4e1SNvf830=- zg2k>eSrm!%%W+qgn<-?2;spRMA6W+k&#TO{pw5ezeH4K~6&0h>O8{0KL@Haxa1dVU JFu#v2{03@F4a@)l literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.core.Saml2Error.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.core.Saml2Error.serialized new file mode 100644 index 0000000000000000000000000000000000000000..afee3a5343de4c1ae2efb29840dd668a97d49526 GIT binary patch literal 138 zcmW-ZI}QRN6ab&ZEsUK9VUum`G@EP)9aeUPMS||~@bUaLp2(|t2ZK{hGxPaEQwTbw zAWNp0!intcA4nHjyt`54mn?RkI_Z$SG*x>dB={pH0Ybxi^uMHMz7Xv!qh5I59WJNH00RC{-^Q z#EdXCuyig;O-aow$xO`o`0U%}O_{HnnHZRT7`T&Di%K%nGLsWaQcD4PNo!MYKutbG{xli`MiR2HNbmoV@{G?tcR=I95fmH^do0UcKcG}Jq_vV=hj&D;RE zoOMM3&^x*yYZ2}TS*z!auu=ty9h6$osh&0WlEe}q%gKjH5JXpfCd3Qd$I3v*xq-4>pdF2TTkM6$K0oEaC=DEW!p&OurW}GchtT zaWb@JGKvYNWhCZhW;+yQmgScu<^WX~ z$cghBni?1x85L*IiSrtPxIh5r4gnuDF)ASkJ0mLta}y&!gFzD`7gG}>Bg2lO zx^2QS-m4~;KlnL&&4TC&PmlJSE>OSrZ)x=`*WXplwSRX#5~yl#f3|#*rfBf=+U`s2 z#W!cH*Jlfley+9mcW88UzCiV7m6(l{rrT>&zS5LU4v;AVEH&;G;zxN5&lxja#htD7MSlu6SC3Z~w-uJCq z`BCLmeNiT6Mh3>k0S0~svcS|L%f}+dB69h}zoz1ePg&;G?L6vqAl-5iQ?ImvJV;uZ zMZ!R=0lNYokOE;ARs&{6#{bA+4ovF6FlS`YH`HTseEh#_YDLe(om1ZJ-`X(ypHdv- z?Y_AZDQdpVxwYTE1)NS3xvc-E{_y{_9jY;Vc6}C_*Khtbte(&1N$A>?yGAY9{$J(S zr&V43)oyks;orR8`jd)&)rCqb$~#M66l$5V%n-?ccGO;XqF351V~zU<4cvBdEqZr! z&+Ye`hGF}TgoJ*WcKPEO|KJ(>{TP&ePsGKkl=irsOwHP=Kk?|(_O86+ojPCNZ4SS1 zfn9fV+4=Y@y|0e(%Ed2Am)iR1?~Eq@m!6H`+fzaxRata1DK%d17LTq@y0CToblLLc zFjeRNx6@__H-6$gvb1Wx@*};bE%SAx4ezgC!m*m~ZeQ_>loAHk2t8n_2`rn$!DSPu zWYhD>%*#$q@klJr0G4q#a;`^By{jb$DoTnN1QDvB^1EDGr%v0k-Gmub)RgluFfa(% zI{--r2FAJ~hF}T`a1|_tI;b258xACdz%Jqgy9iVW>bd5X<|0cLlrZpwxdwT4QQ6aWAd4?b4_ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.DefaultSaml2AuthenticatedPrincipal.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.DefaultSaml2AuthenticatedPrincipal.serialized new file mode 100644 index 0000000000000000000000000000000000000000..48f76f0f6bed0cba42222c21c6491332840725ba GIT binary patch literal 357 zcmaKoFHgik5XC1=F(mv6AweA&^fp0Y4nqKONl8df9d2podJEg_GCNy(2m}clhr}X4 zBKR150D?vF0dVXd0u=VWm*0CcPoFU72(Y0_I7`Y@W0EyqG;}5$7M>JOg_E`35|)}) zl}JISRuw3u=Ls5Cg=Ezjv5#ZvH4kHW_t(PmC}0a^rM|m<{3?6B+XT`a<|Q+!6VK=v zmhw~C%FMIU*`c)k98wczFs%F-TAC^whP~-Nl+a+7lsT>iCu&) z|AFQq-|uWVbv-tT*d+EEt+9yX-R41Uc^axm+p9OnZy&D-KxY|JAFgFsaH_T%<0I@O UQa1jf#IDPiwdb9O`}Y~<8#~8?00000 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AssertionAuthentication.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AssertionAuthentication.serialized new file mode 100644 index 0000000000000000000000000000000000000000..61898671f849a92212fc89c67a7c8b666bbacabc GIT binary patch literal 1386 zcmb_cJ#Q015FMYLfI-d&NPLQj0uU1DPEeA{AyJ5QQIJg%K|!>>o0v`3cgOD9Ia5UN z2ht)68Y%=SfnNYZf&vL7L<7G73PeFe!R%ff$3Zd_TyeVFot^jQy_wzo1_MgMQY`DP zN+gf!%aS#4EtadU!k{U+Zo7&##6>reaf^p2XfG%t5TNr5`FwNu0t(vH^qFwV_ z?%90x=H-{lkMHLkaC|7TPLPJcCuDCIve!ZOEV9=@rge+#^&)!~xq>Q*BZXZCL4Zod za@>bw5=EP8yUL_)SFp~NmX`EPsNsOW!dlD|EUJ4|Z6p{^B`o|mMS6r7cvO5h8~L9z zA&lSwPnhUsF;`o`Kojqht-n**ZCD3~s7?2!)~k(Mu9;c`-RsA-com}$PtLAK)8UW< z`5RE$aSlTt_M88h?B}R79Lh9mYA(FXu@FR$JSK*FLez{4Ww;g6BuBk;#>nZKP`4YZ zPR&P+IONNm)dc!vz^~!c7oLCJ7;zxyLqX7rhLIgGCdL?X{_p9!Fh?ig?%SI`$86GE zU|0>N36VP3%~F<{@c~iY2)nyz5i)w zZt~g3O$Q1->|>f{uh!J2-G+Dc!7NLt&jus9mA1Irin3u}V4|5R>cdcnbrfQXw$7sU zezfbo>69wU#f_&gE**b7YMsw(R=39It?`bA{3^EX`6Hy`Ry$}IXc@3H)le{GH0&ig U?UnOqtiwZV>X;Gtuz8*Q4Sh!7+5i9m literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2Authentication.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2Authentication.serialized new file mode 100644 index 0000000000000000000000000000000000000000..26b3f371973c14e8bd812096988fb9d8fd87b98c GIT binary patch literal 1131 zcma)5F>ljQ5I(yuB~)oEKp=*cr63062nLq2q%;bZTopAGLy8*eI^lHqqDf9^}(GtEl2AR5;jF)rQ-ABB3&p>JX<= zO=-z|JxJ?nw1wg47iV_DN-$-^*gE9<-owCyN%I_$c#cZLu^!u&=Aw8h5`yTGU}8KG zpk`dC+pq&x5?i#%(?*zUTHUNw&8>yaDByL@Y63m3^q=Wd=idByFk^$|fg`A*VWw}4 z=`m{0{u?eEb7BGRyubNtHU+hO!^%lwB6TD~DM`t?20gj^sqpw6dol*r5;%%)V-f>^ z)p5)>y|gfL(S9U*4lrBlx>eqc1y&>rH3nweX_=7dV~d_j83{C;>?GEZTV3(Wx7MoV z)x^{$Y2f9N13Oq7cHDKW4IXx}caCf<*)A`!8EGs9fkc&F%6L)HZ@S@9uutefuaB7R z|3{o~B&Yui#v;~POX%TzU~pwG5RdM?{2deu4{dNfIK(uWz1GskdeeQLSY|PK&Iu`> zDQgd=BsS=jG7aFa7OL(E2m?$ol{}H!U^cTsW*RkDZpOMx;5RNDy}$nD`$rqVT*zrr l&^4tpJ*|-%Zx}P39D!ntwf*+^>x<8ye%pmPNNZ06{TGSrj%)w` literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AuthenticationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2AuthenticationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..917f6dcb14c16e4723396d70884992ccbfa68418 GIT binary patch literal 17200 zcmeHPZ;V~Vb)UC3#x@viV}oss9n3QZBJTRn+WfIGEW2xCy7n6HVklNZ?%p@M@7nKQ z?wx1vLh3dONKI2!iA1WlNl;o)sG5Fokkg_lQBtKusv=eWQlbR4A1bO=sw!2A+HX;N zerM*+o%`p#eH+sc2>ZkM-nnPaIdjgLGiT13w}1Jc;)Xa9FSet3FYZKPYkn^BoAOdS zy5Pk!=tiMh^kTo+*za|s_QkL!BkGSXhJp0_uBywH3Ikt-?UpwUsL@Q{#6loD`1oG^ zKR);FH~;F^AyJtWH^?YzM@o!L64l`x)!~HdFjE~4+L0V))DswWcp(yx^ko(UydG?9 zU-``5f4OOXhS}Jh<^PQQY*)rgiT(ZAVurH#!PK_%{zczw_^o;GOqYbxly>s3zqso7 z+L15(>yQuxcv}i+A^zc4JCANVy!~$r5Ht0teaW9~$bbCF!99;$dgrGr#7Yui;CExG z#O6uh8V1o}3wd}_tgA`ohmDgmj{SLp+vvbeD=7K!Ik7fYesEzX@&kg{aV`Ure3)p+ zCTW;ZZi>5|PDBW0&2k+pv0e}Bs<1IU8OG}HLWitLPcdwJC#EcL<9Fhk-2GqQ#uPs* zE{hw`tW#p;9C6x>5)QNkr!8v<2SdjmICA7yyB@*tju7HaB6DXd$-)4C&AWec@1cKs zbx5p!QmmS5M@?Uy5NjJ@OP=aBXJs@gZVeiK98b1=vguP~^I&N8q`0Lf=>vo`hVQ0# z^<3DH4%FJFRP}Z()6=eXGcfC#+;dh&F)aZ`w9u&tvEn`@R`{Kc68rjE^0bUXzY)H~ z%Zrvkr$P29ww85!5QP#O8h&%O=2uCzv@EOpMhY|8a8b|Bf|&g%t6i>8WZH`&3w)}1`nuF120qw8vA z=*tYRL@zc@B&IRZny2+bY~*^(B-bTW@)X4PEl2m`=>a8fPGC>B&$nIXzf}YcBIzqR zHG5tL8U4MJ1I6pGi|c$2K#46H*O_)(X?!P)vAe@Yc^Da454G^dW7WUGeKnG}J!rRT zAvQX{ag6-gREvRJBJ5sn1EoYH>+`(1;O`oqcJ$zBv=g2nhd_cgPu4UZcF|n55_uF) zhm}~Rsk%U~7+S|cE4Lk|LBKRe2h%1d7^7X*I5z8#Xq%cL4@Ev|cyM4N!5!oP*xAXk zZWPg;W012CmT|%^xqne7$2okyb|H0Kk(_Igt$5>MME{*+&#d(|8YCWMXYY@Og;ine zV*3J_`x@R?W_@h2tM(uC_Id}j6D8_H2Z{QYbmK`#Yobcrq#vv{CLr5mXpUP)JfxQg z%>n{H-))7;>ok0YUCImE&1Sn5d)QLFGkRiVSI^Qb33gMi$FP30W?j=xWJNB2XuVPG zNFPer*~!N`#NdgkM~T~0a;DEt?36=B95iGOrDV=`J0a~Wo@5{5B}6ofDOxkHZKeH| z*n~^$F+=P?PhxU`tdwI?jrIg7RtKpRGv&LC2ydkDHjuLBQu>^sbY=ibDGhcphRdSDEjW*=gdl2npiL$H1B+unfDsr z{=u$G>oul@=2K`sO*_AZ!x~3Oss-te`gCE`otaTHl3W(K_TtDy(k~1oX|gLmSG49Q zSkvGJ(!3y}YGPU!smH*P9{dKm%3ZdHR8bgdw+7lh&?%Ayk`7B-2$*i<_Z9_O933u0VuInD*>u^RsKE$D#4MXcGx-p zR+DiMg;?_*)`zwmJdN8AO5D}!ld-+68B0ikvo?_g)uX9~?Cz2Cw)Kz#`Y5Q=5xwEr z6XICAf$fsx`C_NxBl< zpv2*2P8DGhZkjIvAW-7Q41Svyo`qZRAvro{L0b& zD@yc1z0XDcB{Ml^9~(%Im<EihVXNHZ#mW{9B>FWhEKh}=uyv_;2sx@u*!QypaQD4r!-2AL!F|ye@e( z5?>R}ou&*E#r~j>i3}-hZ^ixR`B`h;(aS#OEj<1D zK<{-h{x8scyBDTaS7|QyrE?jLB7YHSy{dhhrW6f@RXQ7Vi|saIT0f_ydPX*BTc;=s zlw3{HoL1aJME0aaj6RA2dy3XIv#Z3725$+v%5FmU-~i|zs_r{R!RJYz1<_Lmq)$-k zFQ^X>Xr;(X!;x>SrSA05R_45E+XS<3m&j%4Q9^uoK`x`SByT@ZiCK~Z$afiCt`6Fr zMG73-Wytrkkba0yKce+=De^lM#EtbHA^w=y*BC!V17X^9lnmgG)BsGdOo!^Yx}O4G=iMxnwJKU1tzD#KI_LOu%Gq>`1@UtT;umN> zW@<*^;StQ6NLSB=v;(uF{d`)sHHOziIpo)f0>06w#+yoRT*(m_WbF-IE> zm;6-=_i>jp1o2BWg9{bV|9xGW#lu$BT9vjwy#Apps1XKGf=ea2%zeMyORw`O<%D{D zDtA9z#v#WyvCK1Qfr=^Z-C6#jlz2s$**j@4o3Uv4-BwVigg@>_c)D_^kCe1^PEihu z9IrVxe4@`+v!||;oY<8b($&BRiHa)g>8Y}ToD6OdOhuYl$%r51M&LE$(wj>G=$t6X zB{bJ((?{6^9Y=fcVHW)MOQEVeN!V#VgW9SV9G@;irh~v!hRZLahcv&pMDtnUn-s&O z(Fj$Iay_Nm6_=R+IJgVV4!mYKs4WGc_jx7CGFo{S8*-jYA}N=5jLUpyIior{P~zZ{ zlCUDDqi9NKYguc)!sHTBEsSXu1a(iBK(ghg=ag8j!?~$e!WXb@Cv02{H;O1?qXRf<7Gz)J zh5((?ik-$rRwrDzL~dh~I7;)XJdWlG_v78f!9#uLL)NO~g5q_nFO8*~?Ckx~Dk4Mf zc_PO?rRRi6(F=rHRs4qo);7H)98vb6V)*j|vo^ z(vwPTH<1ISqfSx|lI}sabcq00^<0h5^JGu+FltiI34?sR-^YiEOFnoSIgkwDT~g0! zc%!;oqvnmW)oKSw=Bve_#J19Yt1aut!OcrV@HZUe>`!odF;=oUipzBR(t~5N3H3co z0~r;qq|%{1d4ZXySTxT=Zoi4X1T#=smH=%Dcn%mt;>q7y$x1iyeVVetJIThOhfbc4NgHPW~ME57q+>K_J zi-8Zhd@SZ83ikUfhWs5s0PJxvm`i`?z8?*rvp?wo6z=Q+>OmJEO-rO0GS}~xeLoK* zGSyZa1nax12LW)%XYuqLn#_F0B@j&F<_YqzT=Y#LtiTapxez_U~mdNB!?kz0a6}VzjHu1?*fFD1V1src^4qC z09+&}&cYty%+(XXXXKE-n*snEw_z50ED3#i1+N)V*DXNGWCmc__fde5uHvPVeBY8t zFH9`D0I8>W8KA}M3O_5s@Y^niZ3&38B*VC&mi6xm#Jxz+?qm=-K zpx9Hh+4BndD#YR@lgxbrboVIj4_NyLhOeRdI+~2K4x@*8NC93?bOC4fHg6ZO*+w{rbP}LKH_$8X_^|%t7SZ)pZx-`j>_}80nT$3~h2}sQk zM2SviEt;D^F%wSmnHsCSvJTBHc>q%(#JBZmHlW$)x}py-gfXN5n_K`6RI&hB9-2iA zSpa*~b9mU|lHlkxOQMp=*Vr^fiXltli zQ{bb{z9K1Bc?gaDh-1WuS;GKwJ|ZD6QaO?s33%Af3?4;)v0AW1DFK7V(2S$WCH~Qc zAf|Ghnlyu;v-0Ra!IVev_;e=wjvge6Dkss{L=m{X%wta5kI%SMxt2^fFg}Zh(?`}B zfaXg~vm_CWj{{_hf%Q{pkRM8?1KYM40tetT9i}(Se_>!h63cP_zgNK*5z@aL0j?DVfb!0+~tZ$GkNf|K3Zsiwk&i(A9QPJdu@6&px>XV6dTl6DMm?5nIaJ5{(g-1^jI+7t| zDiuZ0G_nO#!I6glL!hHn?10h00DF@hV>JhT!vD}GHmd$ya>kJ~W9zIrEjIG%r_Vn> z;~^I!K>^}#uxE+Pm#1PIKz1-GtpXH6VsffGz$JWs*k3}K$@{<4HN z0}I0)VPw|XiZu^$8-R)#Yn=>?0*%g~CD0PXRCp%Vi{W96|102FQ-ttk6mc%H*yy(@ zF@Ou4Cjbuwhy@2)p;7Bm-g@FRq&~*NUNJD#R5*kJjDL0JlC`TEvVfo2D5;Nt#Fech zD20iBM`-ja=n4apUfntyCowP~a5Z7p3r+jK%(R>|6&-U3bW;&ZD$jsuD@BThMo@$b z6((HE<{FHz4(OA~YmEqJJuGrjs!=4R!x^&@SL;)1mGq<`_HdW&>+M0qDM)don#^Ww zVX>HQPviyn1KQDIsS`G$Ce9`QXCWA98w6%5%L`DAx)^j*!39nefLAWAXG!FD!P$+_ z|96Mb*$k~rt46hGs*Z)sQ4YGdgNHdN&{_4AgTE8hR(mMRV)eGCXlu_#!scY4OF0Au zE1oGX+lv;Xfdl!&tF1Q4HTq0KH3p}rDhTF`_PYs-F9gA2hA6mmo0NHePvoq{OLkWe zVnMQ<=@1TbPZMNHLEgh&}Bb_1jsG0`d?dLXh2)BqgbpSc!pa_%F){K6 zI+L55E6fcR!f+KyFib4M28xV2tqLByKu1zU07c^hdMYlF4l1HR!YfC0I~-yH2mp5$ zRabUrsNoWh)Mx9gC!yCJ;zveC#gB|gFc{EI`Y~YatDve-#F|5i#TBXaw>dWy4MYCK zrj-yXQ*&(_Rrjwy+WCp*hqu_ix}y@+1vdO(YZ+*2tyG$~?Nw@E>I?WAla%7i=v zY6Ux4^<*$8p^Ou}6y(5S8%^Xfp!*AY<67rnI|#QUU;(z66(Y03h&GdfR{zHnhB@Nd;MbHA>lI04%oKwy|7Zg2Ug1c zbv2L6;c^|pZ0TmnkF|Hyn2Wt*(A#6)e(b{GbhHCl$trP2%+a2g$hY_4CMql+9h|ul zvEnY6JDPED?ihj7jF#|^CzYAvo>+G@>g4Q!0?I!D;sQh89~~w^Srl}1=0+um{V`u8 z%5(N=%R87vLS+V4aa7qJwRNP;Djfl@4Z zf|rW~eZoKX^Z#H6rJP>YuygDHuawgXV5J-piT_sI9Ueg}> z^p<|*FZyC>%J9mQ-U(5iABR8ERHtnGO3){iN@+e>+&EbvN{Z|Hcv<15L-og6Hotpn zK=sM-(N3hp!srG&RlzvB@aB6$yU|Tf_&eo~7d$EmXv$kG>dNJD0O!LvY#inTqs7OS z@5%4d*zmlRF2BbAps1#P!~u2aT5een%nwZm@Vzn58SM)=BLNS-9meBuezV3LhC0NY z14LpWUv~Akxr>eSuhhJMr?zUwis!x3IOi9v^j5td!_yT$dK7mwqf4XcY4O3|GIsZ# zxOY#p`v(g{t|b+_Mt+~TRdqo!Gc)#~-}a3BZ=TE^bZpA=56X%Uzc#KQt5;w^P4>;K zph5hKF68z4;ezt98OwwFUiusxwa01go%+4!@AeZX?XOEnytkzB{;^m^MeR5c5Yv#B z7MMLh@-Q*2N>pBdZT4LKp*aH{-r1Ra;)H`>XU_4-r^|l$(#3c3T6OoTre_tUvA3d1 zlB-pTP5Fc8aeI|C&httwNIy|kz0@aHnbbRC;q4_A9wk3J)~(N970@Is-L+~!5Amh# z>pE<9y|943343|F6d~*Y*-qjGx`j1H@d|Vs$d(sd3P!AHT}2RQ^<{u_(#ZIzQBe`H zgs9kYMuV{kjrU;yKQ300z<{8Fbetvij~Z?u&0TOJ+RJ*Jv%r% zCBq&Fax82v#O|0I8gy`WOv3d_G8=KO57q;XIXQPxuuoKwi%l<6{t8))+@cgxGHtM? zWP|xd%l09QCEUT7R6I~TFc=#+5D_l=6q`T)DQ=dmvc?aQYDpQaXLGnECE(;|wRHjE zL`X27pBSFCx9I&n18OCnirZ2~b>?R#ywPxWRoWhT z|FKaAzu4ZqqmEJb#6H60)en5Yttr*otiT2b_9XjSVt2l?e0>BL@Zk#$ zZn>GD<-Anj0IxWtieTR&g5}nE0^f7ku7v?TUg(ibdIJ$vz$S?Sym*DIHEpKDv@voy zz#2<<)cjIzI-E&^Gyj<5Mvg2j5i3)!G8dZMhAjBJpxoiA`p}*cR|fal6|?5EkgGJpYPZ2t2nf2FXuAVFyC+Dm)qaVJMgbZ7x4v0Jf!=smR+5E zu(xzn%du%qN4jKqr5w$<6?W}Q%zn;&?lB#|@7xw*P~Spu z7C!1PTo*TR*szG5=e8C?Cu%}GGapGRXBwX#22b8dY}~QHHS6nxe%l*Xhioi7*|pR1 z_4yZqmtAChHpiT)s9dpPMaakV{mQSQ^7j=2Wy?@@G6~)p+A0yOcJP_RQtq@Ql1pYlH?~3v;MGt7pGVo( KaRJFbGXERwNZkYg literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2PostAuthenticationRequest.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2PostAuthenticationRequest.serialized new file mode 100644 index 0000000000000000000000000000000000000000..5c4c093b58a95e651e766439789de49afac55aa6 GIT binary patch literal 417 zcmb_YJ5Iwu5FKrlCWwX#{>=jBub`ydcS$^UoZ{~=(yCuv#HBR#)_UD?{uJ|VI!RmSlK)6*|lav9C2<e`l; literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2RedirectAuthenticationRequest.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2RedirectAuthenticationRequest.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b706114187c4d428a2e32015b0022e4bf436cc91 GIT binary patch literal 473 zcmb`Du};H442DfmkpQtUAs*r?u`*>u%779vFq+g{4VUEVa{^)DiI8{|Hg{2 zl}l7^YE#6ioE9upYP!?QY1LBD+pm}RPyb;ONHRDGY*S|yPO}H>aPF|S^FkxSWd?^s zw?=J+R`3dY&;Ns%-USsbbwvFW5yqFe1ZEkW?K+%X+z5|M86>=zen&zM`$AFIycwJi zm45JYjiP-{mgD7^)77u$IL12dT$}U?`!VsjSYd0Y!b#xDJBkv&9Okygy2)}A+Yhyg Br`7-f literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2ResponseAssertion.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.authentication.Saml2ResponseAssertion.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0bc93ea8af543fd06d7917c4d55672a86718d464 GIT binary patch literal 350 zcmZXPO-jT-5QQs0BO*9DZoNYXTskY!O&}r|aB$fsWo#$YX}clFlNDIP_< zgmwTt6G1+h%8)owh?5k(#^G%3tV<~E(ojMDqabai}pYm+YPEl>vcP* z3We z(o753&>o%F413?BR_Z1z{f2J*bld)9U&yw{JGh6qfH5JF$K<+37gBfsq!x;J>Wu$y z5>O(b#BtZQCED4;^XuXM(dkts4!Q-Kx9RFKpaQ##i*u_PqN?f)1LYIOAJ&Z}=cMO&rEr1%Fj&wdTYup=F*XEEqUuTLgz$|Yu&l`V~Au%uoAx! z6Ty|Ja-L8C^E*pQcb7eYBZy)c8WCs-ts}VFDQc36kA(5*H!Z5ES8fSQ)A5|~M%EtC zm?I0@|5LhoimqaRQ^4$50cb2-2`DU}uqRbr&Tkrm#jVX`n>y-qK;P5btt#NK$66^& zLzmpG=T)gQxhKW0LXY|5?YrOfbFdb{LJSLK;OaHT%WquBV_EHE_EfmS3+|mh+qtGr ze|f=6SQcsO%fD&;T=` y%hWqu^4~@OMg+^rqftDYARmQsIFE*7RAQQtAS4+2F3o}l2rfHW8igU>6y^_|8vX77 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.OpenSamlAssertingPartyDetails.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.OpenSamlAssertingPartyDetails.serialized new file mode 100644 index 0000000000000000000000000000000000000000..4fba77c7b3e4cef79c6d9467b9a79262586add88 GIT binary patch literal 2257 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b465dce836f8e028c544e5a09be46603b7c956c1 GIT binary patch literal 5855 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 AHUIzs literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.WebAuthenticationDetails.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.WebAuthenticationDetails.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7ebc0911b8731c8f3cd56eaf0b9b44e38a8b9047 GIT binary patch literal 172 zcmY+7F%E)25Jg843ruW0$Z`NHf>DWR6i^ep1x8#27H0?1#uIrp?;zUw%lDG^UvKCe zg1M$#n3`0TA4!(jYPtx6X+w%1qQykWhEG_rN+l~@i9IInADJLaRT%iqDlD)97!sD6 z(akbKV;DxkS>B{m$SQXt{+^8kuubQ>q@P{k3B7yGFj%e^p1;~eQ;)%pKx!HaX6%3+hz{Yx@{VU`f8Wfv@AhH98d%e2!?%f%YGd7q zE^ceH>~Qt;(dUU*AH>M8S z)qFe!2AOWyU{^bAMv+0AO>T&6X6c(|x)AZC2Wir)SX| z_``40cR^8Kg>eyvx~JR?t>)51Qq@%$D`J5Tw>WgBbVJIibyV!6znnT+vQP{80v%6; zwRD4XVYFr}MYsAus7DX!nJOGo`0221sovhivrkW7@3kuc*_7(EbG+EOVh}0o>&vC* zFZLg=RVj+HQvaxI?o!q;oH`hJptMdN{*vmT#wvdTeki7+ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.preauth.PreAuthenticatedCredentialsNotFoundException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.preauth.PreAuthenticatedCredentialsNotFoundException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7b1e417e6e5139c6c798e8c45e9a7af54fe1ab45 GIT binary patch literal 17018 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 F{2Oi(RgeGx literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.InvalidCookieException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.InvalidCookieException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..a504c5cb6dec30c397eea08b767038d0c80c2b08 GIT binary patch literal 11519 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 GKKM7j;a3F! literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..3635073ab684097760d3fc24f446a99eb647cdd6 GIT binary patch literal 17010 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.session.SessionAuthenticationException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.session.SessionAuthenticationException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..6b926ac5c764eef6ec88ebbbeaf8c349a409deee GIT binary patch literal 11417 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 O`NcoOMztNZgZ~1SmMpmd literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.session.SessionFixationProtectionEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.session.SessionFixationProtectionEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..21d4eb459a146751088a7755b6e555f63ccbda4b GIT binary patch literal 382 zcmZ4UmVvdnh#@S$C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT*x#v9u&3HLoNy zIk6-&KMyEZTnwUvA+%d&1z0?wD8D2%8KlCs45<1}kH%Ghwku9d3`{-@Jb9_*Q01N} zB@9A7S&3zd`ZH5JXAe*g$YVvbZ;A#pP>KGU+iWq$HIu6ZYsUUmx9FvMmiV~Ac z98p{icGF3P<$o_V*#2Z^ K0|H0_y$S#~(U5xp literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.switchuser.AuthenticationSwitchUserEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.switchuser.AuthenticationSwitchUserEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..f2324b5b28f163f4d378a09b67bbcb357904300d GIT binary patch literal 1016 zcmb7DF>4e-6n=L`l2gz`iD;o%#7<_x_OM9e83=14IZq^lVQy}6nPhiooOzeqLn2oQ z+K8YCN(ya63tNALh=ukR)^eqYh2Wb_&b@??;8e@JH{bWY?|b{c2Zx=7TiQ06Ggc+d zWy@pP)^?3KDOy%xhqYy$@fNPg1eM^Zbi!O)p;&1-Y1!nCN;NCgs8Cs_{+mB%U%nod zCyP)B;Rtful<12H<&ZdoU7SImGZ5O!z~eV0auvD2zq+#ZT}~}r+gI@}wbDyrlXZud z3*0Faq**g_{LQ$jH&+IAs(T7U3k>Cw#R?=;~olu*UeA&(8g zjIZ)_&RVDpYHrRm#tbsAe9pgg*vYOe;yNlv%GViX&oDGIqHFo2(~>$iFq@o4hHY1&|y^-n@G-B qP7B!hN0En5f7X!IQQvQb(!zXLS*lel3n{{}dx_R&BM)uJ=kphKU2eSq literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.switchuser.SwitchUserGrantedAuthority.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.switchuser.SwitchUserGrantedAuthority.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ce0709de26b07035654f89ce5c17b1fbf8862f83 GIT binary patch literal 209 zcmZ9GO$x#=5Jrchf?E%gfZMK$i*B;8)E*$lv5nTGOeR+Ey>_jvd3u;DSOp)+q;{*4i2M_gUlD0Mp`6bDO!CLTurBuH Kp{c4}J$wK^u}Yc% literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.www.NonceExpiredException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.authentication.www.NonceExpiredException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..13a6281d31147e7ab96715710392f4dc052c439d GIT binary patch literal 16991 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 U?d!MK-#Yotm;MCtZq}duFLMy@RR910 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.DefaultCsrfToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.DefaultCsrfToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..693e898c3136a9e65df47fdc39ca758e46cbb6bb GIT binary patch literal 172 zcmZ4UmVvdnh`}tsC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT*x#xwt4z&m}c2 zu{5W|8ORRF&rZ#YdcXaI{-WPknHZRT7`QT06H`)){D9g^7=(PX63Y_xa}x8?^@B@5 t=34tO@D?P33@?EwDrBf*VDw>NEdiMX=2R4vFt9;PDPiD*D=vYm0RXq3J!Jp@ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.InvalidCsrfTokenException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.InvalidCsrfTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..00a151aa6dbc9f765473935a61f7d324e94ce4f7 GIT binary patch literal 11425 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 Pa^zdj{vPsO%WwS`zz8py literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.MissingCsrfTokenException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.csrf.MissingCsrfTokenException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..2bdcf8302f90ed07389e7a2f6df3e04253d9acff GIT binary patch literal 11411 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 JsAzmj#r-zX_GDZ;hYsQyA?Wo$y#7D)~pk< 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 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.savedrequest.SavedCookie.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.savedrequest.SavedCookie.serialized new file mode 100644 index 0000000000000000000000000000000000000000..4f22da7051df3eba2b88c4e10a0799ddbc718ab4 GIT binary patch literal 212 zcmXYq!ES;;7=)*$VB*nRUt&2oo@j#=3&Ds7;r1(kDHT}QUBF)YM13{iLA0IIHbfbzo|4>x%Ak|4|K6a`w-(ui{(A0CLxb0XQ5#P$Il&6Am&!n8d_F-3a zc5_Z)-@hEd&SXVJZ7>hMs3)hSI(K4o6DttLqcCc?p`tks1}J=#931Nl-WI8jMTsXORC}-w6&Gr4q#*GL&Xk#vh+Be0jBH>WS{d}R_Y<|S>diV{gM*=Nu4$@!eAbH&uremJEc z7ng;?W~?w)A%!`fzRFpSY$Cf+~Q<`>JWhPpszkPXJ0OP9{FfNLdFIh&Q#d^k1op#Mo?f;qBdNK3& zhYhtR3E6wQ%}}R7qz9j nn0CnwrkZUu%+(1JMYGpu8hmdT_^Qh8yfWA2vX{gZ#u@$x;r~2i literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.csrf.CsrfException.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.csrf.CsrfException.serialized new file mode 100644 index 0000000000000000000000000000000000000000..2540e142c7c185fdf9a0538f78242266ff5e7c78 GIT binary patch literal 11268 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 T>vz`NKKh-P{tEGK#-I5wmNfD+ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.csrf.DefaultCsrfToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.server.csrf.DefaultCsrfToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..9cff958c4907a45a8acbea834b1143808b70d1bc GIT binary patch literal 179 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 F{{_x=+nfLZ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.session.HttpSessionCreatedEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.session.HttpSessionCreatedEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..9f539ec47bcac53415cdd17f3a2f4637f4aa34f4 GIT binary patch literal 354 zcmZ4UmVvdnh`}MhC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(c(DK5^;&(rfL zDJcksu$_xi6H8K4T+34PN@mu6liQU%*_(-hp`wVv4zF>^`9-O4^N`H~nh!Rt@Tss^ z-Ksa+NjA(esko#lF}Vb4DA=$Coxb0XSQl_Y4Aa5pvgG`{lGKV4J;#EAoXq6J5|}%Z zT3*L@xSxH<#K7pqz*&-+n_66wm|Fn!plDWNS)yKPNoI~7*b@JwtkmQZpI%NsiQL*1 QAgc-(7#Qcj-8%ag0KhhgyZ`_I literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.session.HttpSessionIdChangedEvent.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.session.HttpSessionIdChangedEvent.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7c9afea3db6c2a9b9ee74438583a638f0868a530 GIT binary patch literal 421 zcmZ4UmVvdnh`}kpC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(c(DK5^;&(rfL zDJcksusu_pGZORCQ&U{aQu9hSbjc=d7P@N9#K7dkz>}9+4p&veAmo#kSeB@t15~Xa zTmrJi8mJ~eCk3vikfDx&v7(5<9K$1FQ5;%1TWx@#*FClgO=I0kW!qfq`-U P+pV+jlrS(F0kI(f_8gp) literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AttestationConveyancePreference.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AttestationConveyancePreference.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ef40b44cca314e84c57dc3764c1e537775e41b86 GIT binary patch literal 136 zcmWm7u?@m75J1rbDGUI6IP_GA3MoiPh>qqkmtaWF*7@v^ov4_Bb=ZIcQhe!k|M`I; z3hcZzCI)fb)Pf!LUhXE6P2zMgJ)Ore>6HxzXV$6|71ep(c+NB+TiOfNB=pz&d)zLT huhSGJ6%-lUL<;ljh8fEixhW4io>q^bFuOP*t3UPHGMNAX literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAssertionResponse.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAssertionResponse.serialized new file mode 100644 index 0000000000000000000000000000000000000000..6f154862810206c16c146f520eb58f4715137534 GIT binary patch literal 785 zcmZ4UmVvdnh`}enC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW8sRtkk@c%;dz9{36HV;?$y&%>2Bd)Z&8tyy8@rrk>=qc{ivN*GK**6E{Jrw_AEA7~W_gRRpCTBq++2{ghQWEQf$E{P?Hg$#8Jj6MvU z#hK}Oi6x~)sZar~QlOhW67y1WAR-k-49*mI5$3alCo(rQy(&4+1hSMbIVTes2q0&8 z1^fGfZLTN)2BtA-Hi3P2sd1aV#<2zZK$D{xSd%~=E@5DbcB&{SEdtSNK8ycg;|O`c z#K2Hdz`(%JR;^T0S&*t^r34Epz4X))B^{;YjKrLr)Vy?%RE9xWdbxXGR=#tUW0gy2 zac)&WLAI_}n5S1zPjQ zsy>rEssGMJxvwjJuqWg(DKgCd)Y-}<7JK`C>z)q`s^%u=RJXG4{?l3UYGKHsTY0`W p(2P}Bn3OwV-g@<)JM+(Rv-h8R%QTtO&_Ji-PrjKl!!KvJA^SKa$ZO<}qw zwyI=y(T}OSJ!DKA{-WA27XSbN literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAttestationResponse.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorAttestationResponse.serialized new file mode 100644 index 0000000000000000000000000000000000000000..b728aa265f81163ccc7ceefeb36e75e789c30362 GIT binary patch literal 1056 zcmb`GUr19?9LLWllW7@hk)RLRijdTM@n4!NYMUa&)O4EWC_1}4+pgZ-dp-BJxe*mb zh!6xu^dM4#TCfJmz#ySOA}OLm!%*`=gvmaTYnzTJqPYNzt8#pzTXr7 zh)fzqEeiE>no334@1r zBDWJwRb-89_$nad%kBq8WOSlD{BuLAr=Sc(yRf%wtB48&4n-T_lc|C-qi6XSv}2wqu{iJ$rGf*_0qbl>!bb>DnBADgZ2sT^I*nNBXQUNwYT z=4QCJFAlAk^R``gmMooNCD6=Dr|(|u_@2kN8u3VHeh$j587^B-&P(e0(}}E&#As~N zV9YpBY}ngfycR9JBNi3*o^D>rAdbGfBS%-0W45!eYipG8;cMnDOLy`8OYtGQ`QTE) z^6ht1&x#DD>A`QE6X&vbZSMOp$v+xo-WBS>;q>5eHcD|++n<{B5G_v}dGcx~b0KAs z0R!6U-in!oWk0`_Uu(**Cbu5qzkM|w=^$H`#Cvz?=fiDj(~azc4gaHZB5S+nQ@p7# nm19#FOCbU%{}(kb&>uWg11K{P^-$59ayJic#Z@BcKw6x!z2H~I<2)Kpl9CDqA+A8n z1)$^r9Dt79AaDo>$)Z?kSK9qQ&+q9glv4sbCeKO}QjzD93~?CKrIn(Sk>as6#B;M` z#(reUL|IL}!-$n5Ii@ZK=&*{TmcERnjZj)I$eyGn3hXxf3 zsQ5&M2F;qGLZjjvng=y(s1c^Br$gH~W;iIA+sPkyu%9VH^L;vYElZJ3^hB;1R1e6| zE|`71kT4I75?%cMKZ?&g$ae1i7a6aXV9AE^Kn58ytlJlIAVnY}PjuP*+Qukhs3w7A zH>ObQd&TtMo7!Btt3JG)-OS;AxPr=8apb6{ZZZX)>A#&y{`Wh4P1K%l8X>a literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorTransport.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.AuthenticatorTransport.serialized new file mode 100644 index 0000000000000000000000000000000000000000..183124aa4e607bd6bfea05073e6e1951ac2c9993 GIT binary patch literal 124 zcmZ4UmVvdnh`}YlC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW8sRtkk@c%;dz9{GyPe#Ju8y{GyUgoIFYI*0@VCF);ctu$Cp}l%|$22>E0smL=-v WB<7{-2bX{>u&yX5VPGyTP67aZ3oTy& literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.Bytes.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.Bytes.serialized new file mode 100644 index 0000000000000000000000000000000000000000..3f268bddcd4691a3b16f695bb36970d33abfe294 GIT binary patch literal 140 zcmZ4UmVvdnh`~6&C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGWDD)OHzw3HEy%lIJQ8aiGeYifi(#vRKma%?Nm`vS_Gokd=~$~#u4&>iGiV_fPsNQ n!BSzZ*$cs6brSAf##2h7eke^p+n@hinQJTKoP95L9=Q(yPv156 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.COSEAlgorithmIdentifier.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.COSEAlgorithmIdentifier.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0a61cdf3e7c0d0760ddc11de6c0e91e088881718 GIT binary patch literal 106 zcmZ4UmVvdnh`}|#C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGWDGOgIyhS(({3`8M&S*sd*)tX_=`-yPt*b)njM+#l*nq#lTvYm{XcsQScuO{{064 DlvOO+ literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredProtectAuthenticationExtensionsClientInput$CredProtect.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredProtectAuthenticationExtensionsClientInput$CredProtect.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0222d302d6c70ca486e5530b9f0697b4089e9867 GIT binary patch literal 507 zcmZ4UmVvdnh#@1tC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGWDE`Qd0to@=H>aOB{iMsd*)t$%!SI`FXAtC8>GEKt{21P9{*;Gq0euLng-aN!eSj|3M{}`0 z%*FaZ*MczE#ri-O>mxaVL>H@|yUDtufU&NKp^{!fhT#APC=g;`s3>CK%StRu)XPcC oOV@MFE6qigEGS`+3JrD*iVt%Q@^tfbb`0_K_lx%r08x%U0N0thNdN!< literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredProtectAuthenticationExtensionsClientInput.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredProtectAuthenticationExtensionsClientInput.serialized new file mode 100644 index 0000000000000000000000000000000000000000..0b0b44e588ba52ef7628208ebbdefa770e256110 GIT binary patch literal 733 zcmchT&q~8U5Qis~URA`CH=!3jY#zW<2oVCI4fPKwVp-R1x;5PmlZj0b#EW;I!jrG2 z_z3Pw)lg3!?830aZx_Cq@8uP`CBlWljFkl{osE&tH@p6Cf?ERqwopacgdTdZgH;%K!^My96C^fkf zO#<8E$L4oTaJMo+z2%v#G4CFsS(UP11Hj^J0n`ZVQ+~@?&UMBjUCr8$1;NhAQ8XN# TM#K0p4uj)(&>sy_cLm7@6-y8r literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredentialPropertiesOutput$ExtensionOutput.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredentialPropertiesOutput$ExtensionOutput.serialized new file mode 100644 index 0000000000000000000000000000000000000000..2ff01fc9d19abc205bb2927323a61a932205a7f8 GIT binary patch literal 115 zcmZ4UmVvdnh#?}sC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGWDE`Qd3g%N-`630*dkrQj1D5Q;YpeOA1O$R9q`cQuB&4^Yb8ldwY#P-vrHsnHU(O L7?_H(D+(9^Dt9X> literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredentialPropertiesOutput.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.CredentialPropertiesOutput.serialized new file mode 100644 index 0000000000000000000000000000000000000000..78ddecc04253cac26a4cf70c69596d048012bfc7 GIT binary patch literal 306 zcmZ4UmVvdnh`}SjC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGWDE`Qd3g%N-`630*dkrQj1D5Q;YpeOA1O$E>CpN|LC__mWhGUhk-30ELOr0pQyUgOUMHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW9%jb4yDSlX6lWfkLTyC7H>IC7Jnot`#MzdBs3Rv2#u)P}noCptR)qgX^vTSRO<$ zF);ZsaHqnQc&3yv2>E0smL=-vB<7{-2bX{>xAtLR%>?N}mGn=_N=+`Yt|%yB;7l$` yO$jKKT88K7{=c_Y(X6Sw~2#;bNT_!rHVu0KtTuTQ6as?GxeGa$(#1Nxd?s;2M0k1 zKZCPN7eQ2T=;mZUfP$EuD7tw=NO%&S_j!J~euauw5M?SMS}HD*14Vmmkf|f0S!@)? zAsMi?Th!p8AXIYF==BWJcFO8jVgh+gk!NBvM<%pA=#7+Hxgn%M9kibJ-_I`}eego4 z@M1=m+`~N$JBVw2S0=v_6@et zL0I@zdk5W@1tC-lu759om>^8YigmVCCbf+{UqE))$aMHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW9%jb4yDSlX6lWfkLTyC7H>IC7Jnot`#MzdBs3Rv2#u)P}sk;q@c8eqx#L%V ziZd}V`Y^EPLj+401bng*%M$fVOEPoxeKLzntSbtDE|CHW>VX9H9E*w)D~naY6iC6% zB{uuccCcLnniI{ym{`If91SrdCowNw-#;lUH5p_`X%Rzcv=3<>BE}!qDnIl4_s#s> zz{J2%QNX~!zzB4%2Wj>=7p10v!YeT+peVl}wWuUBwHOjgmnXXCfArfd3l1bUNFbFk zM1lOFj}|fdu!zwIMhXanBSs$>G5Wa8SAj<{9 literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ImmutablePublicKeyCredentialUserEntity.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.ImmutablePublicKeyCredentialUserEntity.serialized new file mode 100644 index 0000000000000000000000000000000000000000..f0703c6b92f66fc4089155b7d0fbb7bd20b69546 GIT binary patch literal 361 zcmZ4UmVvdnh#@4uC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW9%jb4yDSlX6l6N|SOjlf6?bor_XaQu9hO6LUg~Q;S@ItdhzL?tc7_EaVEA7?^z+ zxKlEV3vv=G{eY&IFbMf%C6*=X=OpH(>j#&BthM%GV9HD>VKDUpIz=DNDf%#{=mVVr z!eFQ91D&GpR9TW*4Ajh$2Q;{lp^kyEqM(F literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredential.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredential.serialized new file mode 100644 index 0000000000000000000000000000000000000000..43ca9edc5b4c5f7cff041ab98a3c5d0f7d1bdff5 GIT binary patch literal 2292 zcmb_eTTC2P7(T3A3QbW;Qc@$P5C|nHJ6oVzgeJJVT^IHO+lAdOYz;j-%yv9;07fWH!2*fA|9uVgIt(CP{lFP2xZ>r zRl@?$y10}LalM>~c_{o+cJ%0_wS_(d$aRAfx|Pne5KG8{F=S&2@{NJRO_-PrCT59= zAuROKm>9yuSndqe>AtBIU2xK-+ z$plVsxbKkIP6E`Fl!-{}`b2V@X}2_>n%|E71f>E4$Rd#&fP%{PgJEz_QpOr&J44ZaPR9bnBGp%J>yG zi!IHUj&|_>GCvc(xq0LDKa0%8#GP(nKyeZ<40c+AW-$=3`%sHnl07iucZhY}57|>~ z_LP~8;E2@~=&9{Wb_tvNdUrP1I-E(5%MpAeP!|@FtCRP1IJs6a?$~NGTWbX`Zm@6R z>s-)7@=&MG5v?0seCqw?jc1QBnx1mPv_W8C2w61=k#X{B$+g^7oj)$++mbc>x_?K} z3U*1MW0yl@sSD3sny2@ zo?m>d_{9&ZUnPd#y)a30R}?B4t^aDxCwuQG8=07GG=OY3D1w-J0O^KwG02@fVu53)6QA zHN)A_-lmyCS{@zOtMvT-_bZ7ZuN<#&23nmyUsN=?>s^74t~MWQ?`FwK3Gq>0q{lFp8yQBBSSZ9K1vfUB z8cY-#Ns7{bV^;(U3io)1Rk=RTwo+zI#%yKl3u`Wo6pqGleaXGO1G__GKff{c%KqAO zM|NGEe!6s=EhP?tj6)8S-LN6A=lp!t_kY*+RL{q)C5JoT9oloAJv8>+g$MsQc`a|Z zXea|O{eEy?!MaDk{bApS^PqBT{Y>S1d8e))OkO_TdFC6@^K}O7hU4MHvlDMtElf!> ztMkS_yJ9$;zuB~DVD&%@KDbCQH8;zjJCZ=n)Nyu(&NlfAH?#=GBcV{Md z?j$>cL9v4Ppgt(RtsMlg?-LaWrriU5Mk}->&(H)X>nZZ4Mj3mSxyF6p+*f#WD zH$jbL7xBW3q=?B4OyL{mhGq8H;?oH%M<3KsZ4?DC=fvUie~x;h02cZiSSSw` z0wD30U?BhtwH9v5hcMeC}qNnjF4!PW*p{U_-I9Eq3tzU`Zelf!y%-YjjG%Gkk0OoP9CayTmQh8Y-2rLg z9za!dBTFoob9B#2tm1d5-DOf1aKP_6gmH9y^Qiq`XcaeSgSwBasrz39clD3{$c}?E z&uhpRMU|tNx*&$_D=|@Qrb96<>Zm0L6jr4S24VysL{thDR+7IGMdy`x;fsf-C#u3j z8mfq*oomz&&f{bz3rXgvQ<2IwphZKFn*bw@Au1ij!qGE|cKeDq_mL47C=vb%`H7T2 z2emaUN>`Sws^~byn_@m}u`HyyT@9@~ zGmZWaYCik@)O%&Y*b0Lw0E?)B{R35V!5huy(R0mrBZ?>+0qc+&mTY#{U%vFzL!VEE z!0I5XOo;x+kv7-Gb6ANnS)-2C|J58y|G=##qWlX}>qG)CBoH{QSWMAKA51@c8u1;=S=%Qxl+i$1uc zOU?5#U96orNoLqETVANa_n$m`_AOa>nvoLhKnd1yhE2z|7>5AsOImr12$}o2XG4!r zEypsR#K90W7TKnoT!FslKk+6`2H~VuU`0`=Yg$7*AMH%-mc+tz=dQbD!%>CnByvE% zV*RZXG#+1m`tt7Yt#U|pwp>RJoFSe798}A9B%5_PPEb-3;`$?V=(|(5C(qxIZd4g^ zj0$f3veoP=YO|Fw>^b}8Ma=WLb5CBGeXZ)cECnCtXvbj5#OO(!hA9Dwg}R6jZhTa% z=XcA(wfZ48aNktE(nMVh{C_Hx?B%9?$7Z&OX*9Og2kjDGzDLEU=qvFJ)=QbtiVNzOo!#|6HSZab10|3$9M~ni X?tEmhh!O}iN`XS6 zQ79!&BO#$siB6*zN)3%hD402sh)`VdGR5S5|Ns8?N>32+1WdRhr+ZvjPHtY%WtMlv zlJ2prFDwl7JTp~M9~T^*a!a4|P20*&uplYe9COg3_9*kR!s6(PwHn$!-M6u$LD&Gz znnUO_B%b`jlW#ncXjNrAk$92_ka=+fq9~~2aaW*+&|oamRZ4ucY?5XuzpF6d3?Wq^ z{SWgQ35plE45GKPAj(c}*UyH!uMda@p;?HS$~=NLn<#K!sJHae^jck$dC&j~8~{27 zI*$7vV{gUg)MoE4&b)T+-E6z>UD4Cf{^jHO)xGo)Q^V?NSUu_5cAAN)t)sKS*27pB zLgNrdnk%!ke3c}IWXEV_&PU`j)#kEPt}OGN^GR);`CLl1$WaW4tWw*T0XKdnZ&N2n s(x`4kW`z*;J+mN%$0`&4Cw^M|7`|w`bAKqWKoRPdQk0kPt!Ie^pQ1YZK>z>% literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialParameters.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialParameters.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e7c04e7bb169130c0109b2f8c4b64fb71f5392aa GIT binary patch literal 487 zcmZ4UmVvdnh`~F*C|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW7yVlX5bXy;Ccli&9fk^GY%ka{>}U`btuZivRyTQLEUzv66{_$%lbCF(G?q0Gjct_Hl$^y7Fqi+u#{95q>^qR76*p_ z4YIB%0D9h)G|%I3-0o+gd-d3velamHdNHt;CFYc-RuudPgMa@?w*`lb6YKsv?2^5k p546PxYD)=&kWW@(S)zVUVqUs_a0w_9fgUSi;3@z|lWuluB>-9(y=VXc literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialRequestOptions.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialRequestOptions.serialized new file mode 100644 index 0000000000000000000000000000000000000000..40415ad5dfe779d59650f4b9421c6e5c25e34b24 GIT binary patch literal 1833 zcmbtVT}TvB6uvXAziGMsP-xLoJ@imB4^dePl|R_#f|A=0yBOSEuj|z8%=O+g?QD<~ z7(@>hRP-X@gOHHD2ub;1Jw)`75lU8&v~T&6FTF_7&%I-sg+)UHGsDc>d(L;h^PO)7 zKcIZhP_xZa8mG*#QXLGZNycWUG)|HZGa##FNJ5_2flf=q)X-X-glQz3NVblVc4C2n z&BLV2Asm`17`DYHpVq`?ul3ESs33yMv1!_wpG!HQ^2kYi8tV=irXDdkR7X&8vQw-h zR*C@H84-B&-|*=3cyxh9o*o`u;L&TdK)8reLR=sgmk0nweFixo%9FJuu`HosAyS=b zh}U6@Iv{fd7!9`rS~*vNiLI303X(YStq_bfu^j-kdhWA)*6SVSg%k_Q9ZuL$!iorp710yDA?>w5#D%wXU|m?9b}!xpDD1JRiki@M)RWb*@% zrK0bRKDk&zhfxt|j)xuos`4~6etvl0)+c?sij+9YPe@q-QscEQb(p*leq1|SP!!Fn z2zeZa_Jr>4nht*IUe|bO$90I!Zn`;k#s0jxv8EmW&KqDysG&UU~GX-14;jbZJPvJV{GdO--Vib`qPNHV3i2%a literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialRpEntity.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.PublicKeyCredentialRpEntity.serialized new file mode 100644 index 0000000000000000000000000000000000000000..ca20326559ac4798e5b038cab746eb3c1bbf3547 GIT binary patch literal 184 zcmXYrF%E)25Jg9#vDV%MFR&cI(wJzZAaH^KMqFK%bs2gT=t z3nsONU1bYV8!L5juvk)C*|VrAYpi4^T1tmu!$&R9ND(!ulG&cz+EPxMC92qLda`?b z-pl87>v`aX;K`g}9-i=ufkIsb2@i@@2xHw_E^vcUXBcMGVQCZzRb{A-Rm}{GMHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW7yVlX5bXy;Ccli&9fk^GY%kb3!T$QWNX`JM5CZo6p3+=)=HTmY7qTTEZaYla*MO csGpOVm#!aN0MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGWCK|i!)PF^Gdu^D}z!COEZg7bAdbwmh~Kme#Wh0Vqo-PU@c3`DNQY55c0`NEKAhS XNz6;v4=w>&U|msA!oX1k(U$@MY_c!C literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.UserVerificationRequirement.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.api.UserVerificationRequirement.serialized new file mode 100644 index 0000000000000000000000000000000000000000..7fde55c0e172e7f0ca9343eae34e1dc68b094e39 GIT binary patch literal 134 zcmZ4UmVvdnh`}?zC|$3(peQphJ*_A)H?=&!C|j>MHMz7Xv!qh5JT(b~6H7}n^7Il5 zGW9}>Q;Whj-tF_ctg;o!i;xBrT1SyKrgY4F_E{(0Uy9g~PlVn<_olVl2iA_8d zi#HE?5kye%EcIAH5Km$cB1ruM6i+?q$%Dlo;G3-LwgtB|kV*3L-uJ%u%{NP5p;-zT z4aBr5L&5y%DM2c9J`l5}q;4dbO3Zoc=$l09x^L>0`ii+kvA{R4P$#G3dZ~wB7P^LW zE5C0Wkg=gvVb8oKsgTF<`?kk1E1ArtGh#aNKr}&$?f6lZ4Tw(*4wM!ds5JhI|mEU6o*LaKpiC~ z1W7b{ytsP!;R<=&1eqdaCA&%E5CAgsS-oOWzM=4LAZTh8ty*G^vr5QmK@eY2PphAX z5eYAYSEm#Kr<;`9v8hdpb529^N`uUf5@q{EvK5hO?0Z_D$%o9zXqhI%0_s&aE|_+&5?qwEcDDOy=V-68gFHt$V#?cj=P>kXottT<^0pYx{mI94y@Fzpp0Nk34vH VFZg+M&vNF`tF;%eKkD(i{{Z(Hr?&tA literal 0 HcmV?d00001 diff --git a/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.authentication.WebAuthnAuthenticationRequestToken.serialized b/config/src/test/resources/serialized/7.2.x/org.springframework.security.web.webauthn.authentication.WebAuthnAuthenticationRequestToken.serialized new file mode 100644 index 0000000000000000000000000000000000000000..e627a7e20f5790ab5caa8c689816feb8cdf6ede7 GIT binary patch literal 4105 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 Spring Security Authorization Tag Library - 7.1 + 7.2 security http://www.springframework.org/security/tags