1
0
mirror of synced 2026-08-23 10:37:39 +00:00

1589 Commits

Author SHA1 Message Date
Josh Cummings 748e3c9cf0 Use jspecify Nullable in DPoPProofReplayValidator
org.springframework.lang.Nullable is banned by the
bannedNullabilityImports checkstyle rule on this line; the embargoed
commit that introduced this file predates that rule's adoption here.
Switch to org.jspecify.annotations.Nullable to match the rest of the
codebase (already used correctly elsewhere in this same file).

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-08-20 11:21:21 -06:00
Joe Grandja 3836091fe2 Apply html encoding in DefaultConsentPage 2026-08-20 11:21:14 -06:00
Joe Grandja 4c41928bc7 Provide ability to configure DPoP proof replay 2026-08-20 11:21:13 -06:00
Josh Cummings e6208a4832 Use Utf8#isEqual
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-08-20 11:21:06 -06:00
Josh Cummings 47804ee834 Use MessageDigest#isEqual
This commit favors constant-time comparison
to mitigate timing attacks

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-08-20 11:20:58 -06:00
Josh Cummings 865085e0b0 Add Tests for User and Device Code
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-08-20 11:20:58 -06:00
Joe Grandja 7491e37310 Polish gh-19421 2026-08-18 12:11:09 -04:00
Peter Phillips d90714f07d Fix to allow null servlet request/response in ServletOAuth2AuthorizedClientExchangeFilterFunction
Issue gh-17819

Closes gh-19421

Signed-off-by: Peter Phillips <5099053+petergphillips@users.noreply.github.com>
2026-08-18 11:32:07 -04:00
Josh Cummings 8d452e2c32 Merge branch '7.0.x' 2026-08-03 16:07:26 -06:00
Josh Cummings 0f6f453ea0 Increase Default NimbusJwtDecoder Timeouts to 30 Seconds
NimbusJwtDecoder's default RestOperations now respects the JDK's
sun.net.client.defaultConnectTimeout/defaultReadTimeout system properties,
falling back to 30 seconds instead of the previous 500 milliseconds,
matching JwtDecoderProviderConfigurationUtils's existing behavior.

Also documents this default and the RestOperations override in the
reference guide and migration guide (the reference guide's existing
"Configuring Timeouts" section already claimed 30 seconds -- it's been
inaccurate since the 500ms default shipped and is now correct again), and
documents providing a custom JwtDecoderFactory<ClientRegistration> for
OAuth2 Login's ID Token decoding.

Issue gh-19474

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-08-03 15:51:41 -06:00
Josh Cummings bb59d5c0dd Merge branch '7.0.x'
# Conflicts:
#	oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2PushedAuthorizationRequestUri.java
2026-07-31 13:22:17 -06:00
Andrey Litvitski e4fafce066 Fix OAuth2PushedAuthorizationRequestUri parsing
OAuth2PushedAuthorizationRequestUri uses Base64URL encoding for the state, which can produce a value containing ___, the same sequence used as the delimiter. As a result, indexOf may locate a delimiter within the state instead of the delimiter preceding the expiration timestamp.

Use lastIndexOf to reliably locate the delimiter before the timestamp without changing the existing request URI format.

Closes gh-19444

Signed-off-by: Andrey Litvitski <andrey1010102008@gmail.com>
2026-07-31 13:19:21 -06:00
Josh Cummings 2104c49597 Add tests for OAuth2PushedAuthorizationRequestUri
Adds baseline test coverage for OAuth2PushedAuthorizationRequestUri,
which previously had none: a round-trip via create()/parse() and an
explicit parse() case on a hand-constructed request URI.

See gh-19444.

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-07-31 13:19:21 -06:00
Josh Cummings b62affe126 Correct Copyright Headers
This commit updates all headers to have
the same date range.

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-07-08 17:11:04 -06:00
Joe Grandja dce01c5701 Merge branch '7.0.x' 2026-05-28 11:09:59 -04:00
Joe Grandja e4a78c26d6 Polish redirect flows 2026-05-28 10:25:03 -04:00
Josh Cummings 7c11ada795 Merge branch '7.0.x' 2026-05-21 10:48:51 -06:00
Josh Cummings 944149ba71 Merge branch '6.5.x' into 7.0.x 2026-05-21 10:37:30 -06:00
Josh Cummings 9b14465243 Align Assertions in Builder with Deprecated Constructor
The deprecated (introspectionUri, clientId, clientSecret) constructors
that the builders replaced explicitly asserted non-null clientId and
clientSecret. Bring the builder's build() in line with that contract by
asserting at the API boundary rather than relying on downstream classes
to enforce it.

Closes gh-19201

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-05-21 10:36:10 -06:00
Josh Cummings 53bc6a7796 Fix Formatting
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-04-20 13:52:41 -06:00
Josh Cummings aed95aa2b1 Fix Formatting
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-04-20 13:45:45 -06:00
Josh Cummings 71abbb2ea8 Fix Checkstyle
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-04-20 11:11:40 -06:00
Josh Cummings f77e35e8cc Merge remote-tracking branch 'origin/main' into main 2026-04-20 10:22:58 -06:00
Josh Cummings 40b074580c Merge branch '7.0.x' into main 2026-04-20 10:21:19 -06:00
Joe Grandja 5c6696ceab Merge branch '7.0.x' 2026-04-18 04:34:41 -04:00
addcontent 19b3cae62e Add authentication validator for dynamic client registration
Signed-off-by: Kelvin Mbogo <addcontent08@gmail.com>
2026-04-17 17:22:40 -04:00
Josh Cummings fa62e79db3 Merge branch '7.0.x' into 7.1.x 2026-04-15 18:30:12 -06:00
Josh Cummings 9ad7981e36 Merge branch '6.5.x' into 7.0.x 2026-04-15 18:24:59 -06:00
Josh Cummings 68b820ed09 Check Issuer with Issuer Provided
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-04-15 18:23:22 -06:00
Joe Grandja f8359ef619 Polish gh-17202 2026-04-10 07:40:34 -04:00
Max Batischev fc6a4c8220 Add Support DPoP Customization
Closes gh-16940

Signed-off-by: Max Batischev <mblancer@mail.ru>
2026-04-10 07:09:24 -04:00
Joe Grandja f66fb0814b Fix merge 2026-04-07 16:12:34 -04:00
Joe Grandja 3008848158 Merge branch '7.0.x' 2026-04-07 15:47:01 -04:00
Joe Grandja 41524880c6 Fix auth_time claim should represent authentication time
Closes gh-18282
2026-04-07 15:44:57 -04:00
Joe Grandja 4ce3fade21 Add @Nullable to DefaultOidcUser.equals()
Issue gh-18622
2026-04-02 11:02:22 -04:00
Joe Grandja 9527a4b281 Merge branch '7.0.x' 2026-04-02 10:58:06 -04:00
Joe Grandja 77fe9e892a Merge branch '6.5.x' into 7.0.x
Closes gh-19022
2026-04-02 10:52:15 -04:00
Joe Grandja eefbb4da64 Fix DefaultOidcUser.equals()
Closes gh-18622
2026-04-02 10:41:32 -04:00
Joe Grandja 2ada3f00fa Polish gh-18888 2026-04-02 06:29:02 -04:00
Evgeniy Cheban 8f2a5a7b6e Add PrincipalResolver to ExchangeFilterFunctions
Closes gh-16284

Signed-off-by: Evgeniy Cheban <mister.cheban@gmail.com>
2026-04-02 06:28:42 -04:00
Joe Grandja aa35db5aad Fix merge conflict 2026-04-02 05:45:17 -04:00
Josh Cummings 5b8d81828a Add serialVersionUID
This commit gives a serialVersionUID to the private adapter class for the Jwt
authentication principal. It also adds a SuppressWarnings annotation so that
it doesn't get picked up by config's serialization tests. This is needed since
the test cannot construct a serialization sample for a private class

Issue gh-6237

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-03-31 16:19:41 -06:00
Josh Cummings cb129d6b2d Merge branch '7.0.x' 2026-03-31 15:56:49 -06:00
Josh Cummings d4678c8e04 Add Missing Serialization Support
Closes gh-19013

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-03-31 15:55:09 -06:00
Josh Cummings 08fca57d12 Add Missing Serialization Support
Closed gh-19012

Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-03-31 13:58:35 -06:00
Josh Cummings 067f79dde5 Merge branch 'fix-17729' into 7.0.x 2026-03-30 17:19:31 -06:00
Josh Cummings 52d98ab7af Add Needed SuppressWarnings Annotations
Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com>
2026-03-30 17:14:17 -06:00
Joe Grandja 12997b6ab6 Polish oauth2-client tests with missing Content-Type header 2026-03-30 13:40:32 -04:00
Josh Cummings 95b6dc753a Merge branch '7.0.x' 2026-03-27 12:14:47 -06:00
Josh Cummings 9fb3e14989 Merge branch '6.5.x' into 7.0.x 2026-03-27 12:14:41 -06:00