Skip to content

Commit 35f41f8

Browse files
committed
Temporarily fix integration tests
Issue gh-17880
1 parent 7ef25cc commit 35f41f8

20 files changed

+95
-38
lines changed

config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/authorization/OAuth2ClientCredentialsGrantTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
import org.springframework.security.web.authentication.AuthenticationConverter;
115115
import org.springframework.security.web.authentication.AuthenticationFailureHandler;
116116
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
117+
import org.springframework.security.web.authentication.WebAuthenticationDetails;
117118
import org.springframework.test.web.servlet.MockMvc;
118119
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
119120

@@ -363,6 +364,7 @@ public void requestWhenTokenEndpointCustomizedThenUsed() throws Exception {
363364
Instant.now(), Instant.now().plus(Duration.ofHours(1)));
364365
OAuth2AccessTokenAuthenticationToken accessTokenAuthentication = new OAuth2AccessTokenAuthenticationToken(
365366
registeredClient, clientPrincipal, accessToken);
367+
accessTokenAuthentication.setDetails(new WebAuthenticationDetails("remoteAddress", "sessionId"));
366368
given(authenticationProvider.supports(eq(OAuth2ClientCredentialsAuthenticationToken.class))).willReturn(true);
367369
given(authenticationProvider.authenticate(any())).willReturn(accessTokenAuthentication);
368370

config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/authorization/OAuth2RefreshTokenGrantTests.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,10 @@ public Authentication authenticate(Authentication authentication) throws Authent
624624
throwInvalidClient("authentication_method");
625625
}
626626

627-
return new PublicClientRefreshTokenAuthenticationToken(registeredClient);
627+
PublicClientRefreshTokenAuthenticationToken publicClientRefreshTokenAuthenticationResult = new PublicClientRefreshTokenAuthenticationToken(
628+
registeredClient);
629+
publicClientRefreshTokenAuthenticationResult.setDetails(publicClientAuthentication.getDetails());
630+
return publicClientRefreshTokenAuthenticationResult;
628631
}
629632

630633
@Override

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/ClientSecretAuthenticationProvider.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,11 @@ public Authentication authenticate(Authentication authentication) throws Authent
155155
this.logger.trace("Authenticated client secret");
156156
}
157157

158-
return new OAuth2ClientAuthenticationToken(registeredClient,
159-
clientAuthentication.getClientAuthenticationMethod(), clientAuthentication.getCredentials());
158+
OAuth2ClientAuthenticationToken clientAuthenticationResult = new OAuth2ClientAuthenticationToken(
159+
registeredClient, clientAuthentication.getClientAuthenticationMethod(),
160+
clientAuthentication.getCredentials());
161+
clientAuthenticationResult.setDetails(clientAuthentication.getDetails());
162+
return clientAuthenticationResult;
160163
}
161164

162165
@Override

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/JwtClientAssertionAuthenticationProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,10 @@ public Authentication authenticate(Authentication authentication) throws Authent
138138
this.logger.trace("Authenticated client assertion");
139139
}
140140

141-
return new OAuth2ClientAuthenticationToken(registeredClient, clientAuthenticationMethod, jwtAssertion);
141+
OAuth2ClientAuthenticationToken clientAuthenticationResult = new OAuth2ClientAuthenticationToken(
142+
registeredClient, clientAuthenticationMethod, jwtAssertion);
143+
clientAuthenticationResult.setDetails(clientAuthentication.getDetails());
144+
return clientAuthenticationResult;
142145
}
143146

144147
@Override

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeAuthenticationProvider.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,10 @@ public Authentication authenticate(Authentication authentication) throws Authent
312312
this.logger.trace("Authenticated token request");
313313
}
314314

315-
return new OAuth2AccessTokenAuthenticationToken(registeredClient, clientPrincipal, accessToken, refreshToken,
316-
additionalParameters);
315+
OAuth2AccessTokenAuthenticationToken accessTokenAuthenticationResult = new OAuth2AccessTokenAuthenticationToken(
316+
registeredClient, clientPrincipal, accessToken, refreshToken, additionalParameters);
317+
accessTokenAuthenticationResult.setDetails(authorizationCodeAuthentication.getDetails());
318+
return accessTokenAuthenticationResult;
317319
}
318320

319321
@Override

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeRequestAuthenticationProvider.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,13 @@ public Authentication authenticate(Authentication authentication) throws Authent
167167
authorizationCodeRequestAuthentication, null);
168168
}
169169

170+
Object authenticationDetails = authorizationCodeRequestAuthentication.getDetails();
170171
authorizationCodeRequestAuthentication = new OAuth2AuthorizationCodeRequestAuthenticationToken(
171172
authorizationCodeRequestAuthentication.getAuthorizationUri(), authorizationRequest.getClientId(),
172173
(Authentication) authorizationCodeRequestAuthentication.getPrincipal(),
173174
authorizationRequest.getRedirectUri(), authorizationRequest.getState(),
174175
authorizationRequest.getScopes(), authorizationRequest.getAdditionalParameters());
176+
authorizationCodeRequestAuthentication.setDetails(authenticationDetails);
175177
}
176178

177179
RegisteredClient registeredClient = this.registeredClientRepository
@@ -283,8 +285,11 @@ public Authentication authenticate(Authentication authentication) throws Authent
283285
Set<String> currentAuthorizedScopes = (currentAuthorizationConsent != null)
284286
? currentAuthorizationConsent.getScopes() : null;
285287

286-
return new OAuth2AuthorizationConsentAuthenticationToken(authorizationRequest.getAuthorizationUri(),
287-
registeredClient.getClientId(), principal, state, currentAuthorizedScopes, null);
288+
OAuth2AuthorizationConsentAuthenticationToken authorizationConsentAuthentication = new OAuth2AuthorizationConsentAuthenticationToken(
289+
authorizationRequest.getAuthorizationUri(), registeredClient.getClientId(), principal, state,
290+
currentAuthorizedScopes, null);
291+
authorizationConsentAuthentication.setDetails(authorizationCodeRequestAuthentication.getDetails());
292+
return authorizationConsentAuthentication;
288293
}
289294

290295
OAuth2TokenContext tokenContext = createAuthorizationCodeTokenContext(authorizationCodeRequestAuthentication,
@@ -327,9 +332,11 @@ public Authentication authenticate(Authentication authentication) throws Authent
327332
this.logger.trace("Authenticated authorization code request");
328333
}
329334

330-
return new OAuth2AuthorizationCodeRequestAuthenticationToken(authorizationRequest.getAuthorizationUri(),
331-
registeredClient.getClientId(), principal, authorizationCode, redirectUri,
332-
authorizationRequest.getState(), authorizationRequest.getScopes());
335+
OAuth2AuthorizationCodeRequestAuthenticationToken authorizationCodeRequestAuthenticationResult = new OAuth2AuthorizationCodeRequestAuthenticationToken(
336+
authorizationRequest.getAuthorizationUri(), registeredClient.getClientId(), principal,
337+
authorizationCode, redirectUri, authorizationRequest.getState(), authorizationRequest.getScopes());
338+
authorizationCodeRequestAuthenticationResult.setDetails(authorizationCodeRequestAuthentication.getDetails());
339+
return authorizationCodeRequestAuthenticationResult;
333340
}
334341

335342
@Override
@@ -481,6 +488,7 @@ private static void throwError(OAuth2Error error, String parameterName,
481488
(Authentication) authorizationCodeRequestAuthentication.getPrincipal(), redirectUri,
482489
authorizationCodeRequestAuthentication.getState(), authorizationCodeRequestAuthentication.getScopes(),
483490
authorizationCodeRequestAuthentication.getAdditionalParameters());
491+
authorizationCodeRequestAuthenticationResult.setDetails(authorizationCodeRequestAuthentication.getDetails());
484492

485493
throw new OAuth2AuthorizationCodeRequestAuthenticationException(error,
486494
authorizationCodeRequestAuthenticationResult);

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationConsentAuthenticationProvider.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,11 @@ public Authentication authenticate(Authentication authentication) throws Authent
260260
this.logger.trace("Authenticated authorization consent request");
261261
}
262262

263-
return new OAuth2AuthorizationCodeRequestAuthenticationToken(authorizationRequest.getAuthorizationUri(),
264-
registeredClient.getClientId(), principal, authorizationCode, redirectUri,
265-
authorizationRequest.getState(), authorizedScopes);
263+
OAuth2AuthorizationCodeRequestAuthenticationToken authorizationCodeRequestAuthenticationResult = new OAuth2AuthorizationCodeRequestAuthenticationToken(
264+
authorizationRequest.getAuthorizationUri(), registeredClient.getClientId(), principal,
265+
authorizationCode, redirectUri, authorizationRequest.getState(), authorizedScopes);
266+
authorizationCodeRequestAuthenticationResult.setDetails(authorizationConsentAuthentication.getDetails());
267+
return authorizationCodeRequestAuthenticationResult;
266268
}
267269

268270
@Override
@@ -362,6 +364,7 @@ private static void throwError(OAuth2Error error, String parameterName,
362364
authorizationConsentAuthentication.getClientId(),
363365
(Authentication) authorizationConsentAuthentication.getPrincipal(), redirectUri, state, requestedScopes,
364366
null);
367+
authorizationCodeRequestAuthenticationResult.setDetails(authorizationConsentAuthentication.getDetails());
365368

366369
throw new OAuth2AuthorizationCodeRequestAuthenticationException(error,
367370
authorizationCodeRequestAuthenticationResult);

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2ClientCredentialsAuthenticationProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,10 @@ public Authentication authenticate(Authentication authentication) throws Authent
170170
this.logger.trace("Authenticated token request");
171171
}
172172

173-
return new OAuth2AccessTokenAuthenticationToken(registeredClient, clientPrincipal, accessToken);
173+
OAuth2AccessTokenAuthenticationToken accessTokenAuthenticationResult = new OAuth2AccessTokenAuthenticationToken(
174+
registeredClient, clientPrincipal, accessToken);
175+
accessTokenAuthenticationResult.setDetails(clientCredentialsAuthentication.getDetails());
176+
return accessTokenAuthenticationResult;
174177
}
175178

176179
@Override

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2DeviceAuthorizationRequestAuthenticationProvider.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,11 @@ public Authentication authenticate(Authentication authentication) throws Authent
181181
this.logger.trace("Authenticated device authorization request");
182182
}
183183

184-
return new OAuth2DeviceAuthorizationRequestAuthenticationToken(clientPrincipal, requestedScopes, deviceCode,
185-
userCode);
184+
OAuth2DeviceAuthorizationRequestAuthenticationToken deviceAuthorizationRequestAuthenticationResult = new OAuth2DeviceAuthorizationRequestAuthenticationToken(
185+
clientPrincipal, requestedScopes, deviceCode, userCode);
186+
deviceAuthorizationRequestAuthenticationResult
187+
.setDetails(deviceAuthorizationRequestAuthentication.getDetails());
188+
return deviceAuthorizationRequestAuthenticationResult;
186189
}
187190

188191
@Override

oauth2/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2DeviceCodeAuthenticationProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,10 @@ public Authentication authenticate(Authentication authentication) throws Authent
260260
this.logger.trace("Authenticated device token request");
261261
}
262262

263-
return new OAuth2AccessTokenAuthenticationToken(registeredClient, clientPrincipal, accessToken, refreshToken);
263+
OAuth2AccessTokenAuthenticationToken accessTokenAuthenticationResult = new OAuth2AccessTokenAuthenticationToken(
264+
registeredClient, clientPrincipal, accessToken, refreshToken);
265+
accessTokenAuthenticationResult.setDetails(deviceCodeAuthentication.getDetails());
266+
return accessTokenAuthenticationResult;
264267
}
265268

266269
@Override

0 commit comments

Comments
 (0)