본문 바로가기
728x90

오류를 개발새발47

ajax 요청에서 자동 새로고침이 되는 문제 ajax 요청을 하는데 새로고침 관련 코드가 없는데도 자동 새로고침이 되는 문제가 발생했다 이걸로 한 3~4일을 잡아먹었는데... 정답은 간단하게도 으로 감싸진 은 기본 동작이 submit 이기 때문에 button type="button"을 반드시 명시해줘야한다는 것 ! 글쓰기 이렇게 버튼 타입을 명시해줬더니 새로고침 없이 잘 동작하는 것을 확인했다 ^0^/ +) 스터디 멤버님의 조언 추가 !!! 힘든 시간... 2023. 4. 26.
Method springSecurityFilterChain in org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration required a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' that could not b.. 해당 오류가 발생하며 서버가 빌드되지 않았다 ㅠ 해결은 application.yml 에서 oauth2 설정을 하는데 spring.security.oauth2.... 해야되는데 spring.oauth2... 라고 써서 안 됐던 거다 ㅠㅠ 이렇게 고쳐주었더니 잘 빌드되는 서버 2023. 3. 27.
Signed Claims JWSs are not supported. : parseClaimsJwt() 와 parseClaimsJws() 의 차이 해당 오류를 번역기로 돌려보면(응애 나 아기 고졸 영어 못함) 서명된 클레임 JWS 는 지원되지 않는다고 뜬다.. 자 이게 무슨 뜻일까요? 나는 Claims 을 얻는 코드를 JwtParser 를 이용해 이렇게 작성했다 public Claims getOldClaims(String token) { Claims claims = jwtParser.parseClaimsJwt(token).getBody(); return claims; } 결론부터 말하면 .parseClaimsJwt() 이 부분을 .parseClaimsJws() 로 바꿔주면 무사히 동작한다 .parseClaimsJwt() 는 서명되지 않은 jwt 를 파싱할 때 사용한다 그냥 jwt의 payload 부분만 뭔지 알 수 있는 것이다 하지만 .parseC.. 2023. 3. 24.
JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted. jwt 토큰의 파싱 오류라고 한다 한 마디로 인코딩할때랑 디코딩 할 때랑 시크릿 키가 달라서 생기는 일이라고 하는데 인터넷에 돌아다니는 시크릿키.getBytes() 를 붙이는 거로는 해결이 안 됐다..(이미 넣어져 있기도 했고) 찾다가 보니까 DefaultJwtParser 에서 발생 된 오류였는데 생각해보니 저번 오류에서 해당 클래스가 Deprecated 돼있다고...했지.. 그러면 JwtParser 를 사용하는 코드를 그냥 전부 수정해보기로 했다 ㅠ_ㅠ 근데 얘도 Deprecated 되어있네...? 그리고 이렇게 고쳐도 같은 오류 발생 그러면 파싱 방법에 문제가 있는 건 아닌가...? private final JwtParser jwtParser; private final JwtTokenRepositor.. 2023. 3. 24.
The dependencies of some of the beans in the application context form a cycle: 빈 순환 참조 문제를 클래스 설계 수정으로 해결하기 빈 순환 참조 문제가 발생했다 요렇게 빈을 만드려고 하니까 서로가 서로를 참조하기 때문에 대체 어떻게 해야할지 모르겠다는 얘기.... 사실 이거는 내가 직접 @Bean 해서 빈 등록을 해줘도 되기는 하는데 토비의 스프링인가? 강의였나? 어디에서 봤었는데 빈 순환 참조 문제는 설계 자체가 잘못되었다는 얘기이기 때문에 한 번 설계를 돌아보라는 얘기를 들었었다 문제 자체는 금방 보여서 그냥 뜯어 고치기로 +_+ 이렇게 MemberLoginService 에서 UserDetailsService를 이용하고 있는데 UserDetailsService 에서도 MemberLoginService 를 이용하기 때문에 이런 문제가 발생했던 것이었는데 1. MemberLoginService 에서는 UserDetailsServic.. 2023. 3. 22.
Parameter 1 of constructor in today.also.hyuil.config.security.jwt.JwtTokenProvider required a bean of type 'io.jsonwebtoken.JwtParser' that could not be found. JwtTokenProvider 클래스에서 io.jsonwebtoken.JwtParser 클래스를 사용 중이었는데 해당 오류가 발생했다 빈 등록이 안 되어있다는 오류 같았다 @Bean public JwtParser jwtParser() { return new DefaultJwtParser(); } 빈 등록을 해주니까 서버가 무사히 빌드되었다^0^/ 근데 DefaultJwtParser는 Deprecated 되어 있더라고...? 그래서 다른 객체를 주입해야할 거 같은데 보니까 JwtParser는 그냥 요즘 잘 안 쓰고 parserBulider 를 쓰는 모양이다 그래서 그냥 jwtParser를 쓰는 코드를 JwtParser 가 아니라 파서빌더를 쓰도록 수정해야겠당...;; 2023. 3. 22.
728x90