작성
·
1.9K
0
안녕하세요 선생님~ 유익한 강의 만들어주셔서 감사합니다 :)
다름이 아니라, 제가 JWT와 연동하여 프로젝트를 진행중에 있는데 알수없는 현상이.. 나타나서ㅠㅠ 질문드립니다..
현재 JWT으로 인증을 받고, 토큰이 유효하지 않으면 LoginPage로 리다이렉션하기 위해 AuthenticationEntryPoint를 커스텀하여 사용하고 있습니다.
브라우저를 통해 하면 토큰생성 및 인증처리도 정상적으로 잘 되나,, 신기한게,, 토큰을 담은 쿠키를 확인하려고 브라우저(크롬, 사파리) 개발자도구를 키면 바로 AuthenticationEntryPoint를 호출하는 로그를 볼 수 있었습니다. (토큰이 유효한데도 개발자도구만 키면 넘어갑니다..)
@Component
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
response.sendRedirect("/user/login?error='Not ValidToken'&exception='Login Again!'");
}
}
혹시.. 의심가는 증상이 있으신가요 선생님ㅠㅠ 저 현상이 일어나고 바로 개발자도구를 끄고 다시 페이지 리로드하면 앤트리포인트의 로그는 찍히지 않습니다..ㅠㅠ
선생님의 강의 덕분에 많은 공부를 하고있습니다. 늘 감사합니다!
답변 4
0
0
0
0
commence 함수 안에서 request.getRequestURL() 을 찍어보니 localhost:8080/error 를 찍습니다. authException은 org.springframework.security.authentication.InsufficientAuthenticationException: Full authentication is required to access this resource 을 찍구요.
SecurityConfig에서 permitALL()로 지정한 API, 지정하지 않은 API 모두 개발자도구만 키면 위처럼 나오고 있습니다. 다만 토큰값이 유효한 경우는 위처럼 commence 함수에 들어가도 리다이렉트를 하지 않습니다.