33 lines
1.3 KiB
Java
33 lines
1.3 KiB
Java
package com.wb.domainserver.exception.response;
|
|
|
|
import jakarta.servlet.ServletException;
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.security.core.AuthenticationException;
|
|
import org.springframework.security.web.authentication.AuthenticationFailureHandler;
|
|
|
|
import java.io.IOException;
|
|
import java.io.PrintWriter;
|
|
|
|
@Slf4j
|
|
public class CustomOauthFailureException implements AuthenticationFailureHandler {
|
|
|
|
/*앨리스랩 회원 정보 없을 시 예외처리*/
|
|
@Override
|
|
public void onAuthenticationFailure(HttpServletRequest request,
|
|
HttpServletResponse response,
|
|
AuthenticationException exception) throws IOException, ServletException {
|
|
String msg = exception.getMessage();
|
|
|
|
response.setContentType("text/html; charset=UTF-8");
|
|
PrintWriter out = response.getWriter();
|
|
out.println("<script>");
|
|
out.println("if (window.opener && !window.opener.closed) {");
|
|
out.println(" window.close();");
|
|
out.println(" window.opener.oauthFailureAlert('"+msg+"'); }");
|
|
out.println("</script>");
|
|
out.flush();
|
|
}
|
|
}
|