728x90 전체 글389 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. 과몰입은 화를 부른다 최근 일주일 간 있었던 일 심한 감기 몸살로 3일 앓아 누웠음 4일째에 나아서 술마시러 나갔다가 집 들어오는 길에 발 삐어서 아파서 이틀, 쉬는 김에 일주일 채우자 해서 하루 더... 총 일 주일 쉬었다 ^0^.../ 사실 몸살 걸리기 전에 한 일 이주 동안 하루도 안 쉬고 작업했었는데 아마 그게 탈이 난 게 아닐까 싶다.... 새벽 취침~늦아침 기상은 덤 ^0^.../ 수료한 이후로 마음이 초조해서 급하게 하고 있었는데 조금 쉬엄쉬엄해야겠다 나는 정신이 아프면 항상 몸도 같이 아프더라고 계속 보호대하면서 작업하고 있는데 발 찌릿찌릿함 ㅠㅠ + 금연도 시작함!!!!!!!!!! 1일차 !!!!!!!!!!!! 2023. 3. 23. 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. thymeleaf 템플릿을 사용해서 메일로 코드 발송하기! 이번에는 타임리프 템플릿을 이용해서 메일로 코드를 발송하는 로직을 만들어보았다 +_+ application.yml mail: host: smtp.naver.com #smtp 서버 주소 port: 465 # 메일 인증서버 포트 username: #네이버 아이디 password: #네이버 비밀번호 properties: mail: smtp: starttls: enable: true # required: true auth: true # connectiontimeout: 5000 # timeout: 5000 # writetimeout: 5000 ssl: #trust: smtp.naver.com enable: true #반드시 필요 -> SSL 필요로 되어있으면 MailService 는 !? @Service @Pr.. 2023. 3. 12. 이전 1 ··· 34 35 36 37 38 39 40 ··· 65 다음 728x90