SKKUNION - SpringSecurity 설명 2

2023. 11. 5. 22:09팀프로젝트일기/SKKUNION

 

구현과 관련해서 아셔야 될 것 같아서 구현과 관련된 부분은 UserInfoController에 가시면 확인할 수 있습니다. 설명을 드리면 아래와 같아요.

공통 함수

예시가 하나 필요할 것 같아서 제일 기본인 userInformation를 관리하는 API를 가져왔습니다.

 

    @PostMapping("/UserInfo/userInfo")
    public ResponseEntity<?> UserInfo(@RequestHeader("AccessToken") String accessToken
                                      , @RequestHeader(value = "refreshToken", required = false) String refreshToken){

        // 모든 코드에 이거 복붙해서 아래 부분 return만 한 줄 본인이 넣으실거 추가하시면 됩니다.
        // RefreshToken이랑 다 날라가는 거 검증 완료했습니다.
        if(refreshToken == null){
            // AccessToken부터가 글러먹었으면 바로 에러를 줍니다.
            if(!jwtTokenProvider.validateToken(accessToken))
                return tokenService.requestRefreshToken();
            else
                return userService.getUserInformation(accessToken); // 여기만 바꿔주세요

        }
        else
            return tokenService.reissueAccessToken(accessToken, refreshToken);

    }

 

 

이제부터 모든 함수는 AccessToken과 RefreshToken을 확인할 건데요.  포스트맨의 헤더부분에 보면 다음과 같겠네요.

 

 

 

RefreshToken이 안오고 AccessToken만 오다가 뭔가 검증과정에서 이상하면 RefreshToken을 달라는 요청으로 417번을 일단 해놨거든요? 그건 postman에 가시면 확인할 수 있어요. 그리고 재발급 때는 그냥 토큰 둘 다 재발급해버렸습니다.


정상적인 경우에는 해당 Token과 RequestBody에 따라서 처리하게 놔뒀으니까 API 만드실 때 잘 만들어보시길 바랍니다.

 

**** 당부의 한마디 *** 

 

지금 웬만한 오류는 다 고쳐놓고 제거 테스트까지 완료를 했는데요! 공용으로 사용하는 태그나 Dto의 변수명을 바꾸실 때에는 반드시 기록을 남겨주시고 같이 메세지도 보내주시기 바랍니다. Campus로 바뀐거 찾느라 너무 힘들었어요.