Skip to content

Commit c27061d

Browse files
committed
Fix MVC OAuth2AuthorizationRequestResolver to use correct "login" action for redirect URI
- Changed DefaultOAuth2AuthorizationRequestResolver.resolve(HttpServletRequest, String) to always use "login" as the redirect URI action instead of "authorize". - This aligns URI generation with Reactive stack behavior, fixing inconsistent OAuth2 login redirect URIs between MVC and Reactive. - Resolves authentication errors and token relay issues caused by incorrect URI paths. Signed-off-by: chanbinme <[email protected]>
1 parent 3396890 commit c27061d

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/web/DefaultOAuth2AuthorizationRequestResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public OAuth2AuthorizationRequest resolve(HttpServletRequest request, String reg
132132
if (registrationId == null) {
133133
return null;
134134
}
135-
String redirectUriAction = getAction(request, "authorize");
135+
String redirectUriAction = getAction(request, "login");
136136
return resolve(request, registrationId, redirectUriAction);
137137
}
138138

oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/DefaultOAuth2AuthorizationRequestResolverTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public void resolveWhenClientAuthorizationRequiredExceptionAvailableThenRedirect
307307
assertThat(authorizationRequest.getAuthorizationRequestUri())
308308
.matches("https://example.com/login/oauth/authorize\\?" + "response_type=code&client_id=client-id&"
309309
+ "scope=read:user&state=.{15,}&"
310-
+ "redirect_uri=http://localhost/authorize/oauth2/code/registration-id");
310+
+ "redirect_uri=http://localhost/login/oauth2/code/registration-id");
311311
}
312312

313313
@Test

oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/web/OAuth2AuthorizationRequestRedirectFilterTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ public void doFilterWhenNotAuthorizationRequestAndClientAuthorizationRequiredExc
231231
verify(filterChain).doFilter(any(HttpServletRequest.class), any(HttpServletResponse.class));
232232
assertThat(response.getRedirectedUrl()).matches("https://example.com/login/oauth/authorize\\?"
233233
+ "response_type=code&client_id=client-id&" + "scope=read:user&state=.{15,}&"
234-
+ "redirect_uri=http://localhost/authorize/oauth2/code/registration-id");
234+
+ "redirect_uri=http://localhost/login/oauth2/code/registration-id");
235235
verify(this.requestCache).saveRequest(any(HttpServletRequest.class), any(HttpServletResponse.class));
236236
}
237237

0 commit comments

Comments
 (0)