JWT

· Study/TIL
들어가며 JWT를 구현하고 있는데, 이번에는 에러 처리가 문제이다! 자꾸 토큰이 유효하지 않은데도 권한 에러인 401이 아니라 500 NullPointerException을 던져준다. 원인은 JWT의 플로우를 제대로 이해하지 못하고 있어서였다. 따라서 오늘의 TIL은 이 문제에 대한 트러블슈팅을 하고자 한다. JWT 401에러 보내기 우선 예외가 발생하는 클래스를 디버깅으로 찾아보았다. 원인은 AuthToken 클래스에서 Claim을 가져오는 메소드가 문제였다. 지금까지는 AuthToken 클래스에서 Claim을 가져올 때 예외가 발생하면 try-catch 문으로 예외처리를 해주고 있었다. AuthToken.java public Claims getTokenClaims() { try { return Jwt..
문제상황 회원가입한 유저의 권한을 DB에서 직접 ADMIN 으로 바꿔준 다음 ADMIN 권한을 가진 유저만 접근할 수 있는 api를 만들었는데, 여전히 유저의 권한이 USER 여서 접근할 수 없는 문제가 발생했다. 해결과정 디버깅을 돌려보니 DefaultOAuth2UserService 를 상속한 CustomOAuth2UserService 클래스의 loadUser 메소드에서 불러온 OAuth2User user = super.loadUser(userRequest); 의 user에서부터 이미 ROLE_TYPE 이미 USER 로 세팅되어 있었다. 해당 코드가 있는 전체 코드는 다음과 같다. CustomOAuth2UserService.java @Override public OAuth2User loadUser(OA..
반응형
Anna-Jin
'JWT' 태그의 글 목록