40
40
import org .springframework .security .oauth2 .client .registration .TestClientRegistrations ;
41
41
import org .springframework .security .oauth2 .client .web .server .ServerAuthorizationRequestRepository ;
42
42
import org .springframework .security .oauth2 .client .web .server .ServerOAuth2AuthorizedClientRepository ;
43
+ import org .springframework .security .oauth2 .client .web .server .ServerOAuth2AuthorizationRequestResolver ;
43
44
import org .springframework .security .oauth2 .core .OAuth2AccessToken ;
44
45
import org .springframework .security .oauth2 .core .TestOAuth2AccessTokens ;
45
46
import org .springframework .security .oauth2 .core .endpoint .OAuth2AuthorizationExchange ;
@@ -134,6 +135,7 @@ public void oauth2ClientWhenCustomObjectsThenUsed() {
134
135
ReactiveAuthenticationManager manager = config .manager ;
135
136
ServerAuthorizationRequestRepository <OAuth2AuthorizationRequest > authorizationRequestRepository = config .authorizationRequestRepository ;
136
137
ServerRequestCache requestCache = config .requestCache ;
138
+ ServerOAuth2AuthorizationRequestResolver resolver = config .resolver ;
137
139
OAuth2AuthorizationRequest authorizationRequest = TestOAuth2AuthorizationRequests .request ()
138
140
.redirectUri ("/authorize/oauth2/code/registration-id" ).build ();
139
141
OAuth2AuthorizationResponse authorizationResponse = TestOAuth2AuthorizationResponses .success ()
@@ -145,6 +147,7 @@ public void oauth2ClientWhenCustomObjectsThenUsed() {
145
147
this .registration , authorizationExchange , accessToken );
146
148
given (authorizationRequestRepository .loadAuthorizationRequest (any ()))
147
149
.willReturn (Mono .just (authorizationRequest ));
150
+ given (resolver .resolve (any ())).willReturn (Mono .empty ());
148
151
given (converter .convert (any ())).willReturn (Mono .just (new TestingAuthenticationToken ("a" , "b" , "c" )));
149
152
given (manager .authenticate (any ())).willReturn (Mono .just (result ));
150
153
given (requestCache .getRedirectUri (any ())).willReturn (Mono .just (URI .create ("/saved-request" )));
@@ -162,6 +165,7 @@ public void oauth2ClientWhenCustomObjectsThenUsed() {
162
165
verify (converter ).convert (any ());
163
166
verify (manager ).authenticate (any ());
164
167
verify (requestCache ).getRedirectUri (any ());
168
+ verify (resolver ).resolve (any ());
165
169
}
166
170
167
171
@ Test
@@ -266,6 +270,8 @@ static class OAuth2ClientCustomConfig {
266
270
267
271
ServerRequestCache requestCache = mock (ServerRequestCache .class );
268
272
273
+ ServerOAuth2AuthorizationRequestResolver resolver = mock (ServerOAuth2AuthorizationRequestResolver .class );
274
+
269
275
@ Bean
270
276
SecurityWebFilterChain springSecurityFilter (ServerHttpSecurity http ) {
271
277
// @formatter:off
@@ -274,6 +280,7 @@ SecurityWebFilterChain springSecurityFilter(ServerHttpSecurity http) {
274
280
.authenticationConverter (this .authenticationConverter )
275
281
.authenticationManager (this .manager )
276
282
.authorizationRequestRepository (this .authorizationRequestRepository )
283
+ .authorizationRequestResolver (this .resolver )
277
284
.and ()
278
285
.requestCache ((c ) -> c .requestCache (this .requestCache ));
279
286
// @formatter:on
0 commit comments