25
25
import java .time .temporal .ChronoUnit ;
26
26
import java .util .Arrays ;
27
27
import java .util .Base64 ;
28
- import java .util .Collections ;
29
28
import java .util .HashSet ;
30
29
import java .util .List ;
31
30
import java .util .Map ;
72
71
import org .springframework .security .crypto .password .NoOpPasswordEncoder ;
73
72
import org .springframework .security .crypto .password .PasswordEncoder ;
74
73
import org .springframework .security .oauth2 .core .AuthorizationGrantType ;
75
- import org .springframework .security .oauth2 .core .ClientAuthenticationMethod ;
76
74
import org .springframework .security .oauth2 .core .OAuth2RefreshToken ;
77
75
import org .springframework .security .oauth2 .core .OAuth2Token ;
78
76
import org .springframework .security .oauth2 .core .endpoint .OAuth2AccessTokenResponse ;
100
98
import org .springframework .security .oauth2 .server .authorization .authentication .OAuth2AuthorizationConsentAuthenticationContext ;
101
99
import org .springframework .security .oauth2 .server .authorization .authentication .OAuth2AuthorizationConsentAuthenticationProvider ;
102
100
import org .springframework .security .oauth2 .server .authorization .authentication .OAuth2AuthorizationConsentAuthenticationToken ;
103
- import org .springframework .security .oauth2 .server .authorization .authentication .OAuth2ClientAuthenticationToken ;
104
101
import org .springframework .security .oauth2 .server .authorization .client .JdbcRegisteredClientRepository ;
105
102
import org .springframework .security .oauth2 .server .authorization .client .JdbcRegisteredClientRepository .RegisteredClientParametersMapper ;
106
103
import org .springframework .security .oauth2 .server .authorization .client .RegisteredClient ;
@@ -518,6 +515,7 @@ public void requestWhenPublicClientWithPkceAndCustomRefreshTokenGeneratorThenRet
518
515
.isEqualTo (true );
519
516
}
520
517
518
+ // gh-1680
521
519
@ Test
522
520
public void requestWhenPublicClientWithPkceAndEmptyCodeThenBadRequest () throws Exception {
523
521
this .spring .register (AuthorizationServerConfiguration .class ).autowire ();
@@ -526,18 +524,17 @@ public void requestWhenPublicClientWithPkceAndEmptyCodeThenBadRequest() throws E
526
524
this .registeredClientRepository .save (registeredClient );
527
525
528
526
MultiValueMap <String , String > tokenRequestParameters = new LinkedMultiValueMap <>();
529
- tokenRequestParameters .set (OAuth2ParameterNames .GRANT_TYPE , AuthorizationGrantType .AUTHORIZATION_CODE .getValue ());
527
+ tokenRequestParameters .set (OAuth2ParameterNames .GRANT_TYPE ,
528
+ AuthorizationGrantType .AUTHORIZATION_CODE .getValue ());
530
529
tokenRequestParameters .set (OAuth2ParameterNames .CODE , "" );
531
- tokenRequestParameters .set (OAuth2ParameterNames .REDIRECT_URI , registeredClient .getRedirectUris ().iterator ().next ());
530
+ tokenRequestParameters .set (OAuth2ParameterNames .REDIRECT_URI ,
531
+ registeredClient .getRedirectUris ().iterator ().next ());
532
532
533
533
this .mvc
534
- .perform (post (DEFAULT_TOKEN_ENDPOINT_URI )
535
- .params (tokenRequestParameters )
536
- .param (OAuth2ParameterNames .CLIENT_ID , registeredClient .getClientId ())
537
- .param (PkceParameterNames .CODE_VERIFIER , S256_CODE_VERIFIER ))
538
- .andExpect (header ().string (HttpHeaders .CACHE_CONTROL , containsString ("no-store" )))
539
- .andExpect (header ().string (HttpHeaders .PRAGMA , containsString ("no-cache" )))
540
- .andExpect (status ().isBadRequest ());
534
+ .perform (post (DEFAULT_TOKEN_ENDPOINT_URI ).params (tokenRequestParameters )
535
+ .param (OAuth2ParameterNames .CLIENT_ID , registeredClient .getClientId ())
536
+ .param (PkceParameterNames .CODE_VERIFIER , S256_CODE_VERIFIER ))
537
+ .andExpect (status ().isBadRequest ());
541
538
}
542
539
543
540
@ Test
0 commit comments