Skip to content

Commit 0bfbdc7

Browse files
committed
Chor: redirect 수정
1 parent c01756a commit 0bfbdc7

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

back/src/main/java/com/back/global/security/oauth2/OAuth2FailureHandler.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,26 @@ public class OAuth2FailureHandler extends SimpleUrlAuthenticationFailureHandler
2727
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {
2828
log.error("OAuth2 Login Failure: {}", exception.getMessage());
2929

30-
String targetUrl = UriComponentsBuilder.fromUriString(frontUrl + "/oauth2/redirect")
31-
.queryParam("error", exception.getMessage())
32-
.build().toUriString();
30+
String code = mapToErrorCode(exception);
31+
32+
String targetUrl = UriComponentsBuilder.fromUriString(frontUrl)
33+
.queryParam("status", "error")
34+
.queryParam("code", code)
35+
.build(true)
36+
.toUriString();
3337

3438
getRedirectStrategy().sendRedirect(request, response, targetUrl);
3539
}
40+
41+
private String mapToErrorCode(AuthenticationException ex) {
42+
String msg = (ex.getMessage() == null ? "" : ex.getMessage()).toLowerCase();
43+
44+
if (msg.contains("access_denied")) return "ACCESS_DENIED";
45+
if (msg.contains("email")) return "EMAIL_MISSING";
46+
if (msg.contains("invalid_state") || msg.contains("state")) return "INVALID_STATE";
47+
if (msg.contains("temporarily_unavailable") || msg.contains("server_error")) return "PROVIDER_UNAVAILABLE";
48+
if (msg.contains("invalid_client") || msg.contains("unauthorized_client")) return "CLIENT_CONFIG_ERROR";
49+
return "OAUTH2_FAILURE";
50+
}
51+
3652
}

back/src/main/java/com/back/global/security/oauth2/OAuth2SuccessHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
3535

3636
log.info("OAuth2 로그인 완료 - 사용자: {} ({})", user.getEmail(), user.getAuthProvider());
3737

38-
response.sendRedirect(frontUrl + "/oauth2/redirect?success=true");
38+
response.sendRedirect(frontUrl);
3939
}
4040
}

0 commit comments

Comments
 (0)