Genti2024 / GenTI-BE

springboot
0 stars 0 forks source link

[BUG] Oauth 로그인 성공 후 Genti token response에 토큰 접두어가 빠진 오류 #88

Closed BYEONGRYEOL closed 2 months ago

BYEONGRYEOL commented 2 months ago

Describe the bug Oauth를 통한 로그인시, 유효하지 않은 Genti 토큰이 응답되는 문제 발견

public record OauthJwtResponse(
    String accessToken,
    String refreshToken,
    String userRoleString
) {
    public static OauthJwtResponse of(String accessToken, String refreshToken, String userRoleString) {
        return new OauthJwtResponse(JWTConstants.JWT_PREFIX + accessToken, JWTConstants.JWT_PREFIX + refreshToken, userRoleString);
    }
}

원인은 위와 같은 구현을 해놓고 record 타입이라서 new로 호출하는 것에 대해 제한을 두지 못했던 것 때문이다.

record의 사용은 가독성 측면에서 아주 유리하지만 record 타입의 생성을 new로 하지 못하도록 하는 것이 중요해보입니다.

"record 타입은 new 로 동적할당하지 않고, static of / static from 등의 정적 생성메서드를 항상 작성한다." 코드 컨벤션에 추가하고자 하는데 @LeeJae-H 마르생각은 어떤가요?

나아가서 애초에 new 사용을 자제하는것도 좋을 것 같습니다. 저는 기존에 배제한다고 햇는데 아마 있을거라..

To Reproduce 문제 상황을 재현할 수 있도록 요청하셨던 정보를 남겨주세요:

  1. http method and url
  2. request body, query param, jwt-(admin, creator, user 중 1)
  3. 에러

위의 양식에서 크게 벗어나지 않게 작성해주세요

Expected behavior 비즈니스 로직 상 어떻게 되어야하는지 말씀해주세요

Screenshots swagger or postman 스샷 있으면 도움이 많이 됩니다.

Additional context Add any other context about the problem here.

LeeJae-H commented 2 months ago
  1. record 타입은 new 로 동적할당하지 않고, static of / static from 등의 정적 생성메서드를 항상 작성한다.
  2. new 사용 자제 위 두 내용 코드 컨벤션에 추가하는 것에 동의합니다!
BYEONGRYEOL commented 2 months ago

감사합니다