diff --git a/domain/mathrank-auth-domain/src/main/java/kr/co/mathrank/domain/auth/client/NaverOAuthClient.java b/domain/mathrank-auth-domain/src/main/java/kr/co/mathrank/domain/auth/client/NaverOAuthClient.java index e6f035d7..f860ff99 100644 --- a/domain/mathrank-auth-domain/src/main/java/kr/co/mathrank/domain/auth/client/NaverOAuthClient.java +++ b/domain/mathrank-auth-domain/src/main/java/kr/co/mathrank/domain/auth/client/NaverOAuthClient.java @@ -1,8 +1,12 @@ package kr.co.mathrank.domain.auth.client; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.web.client.RestClient; +import org.springframework.web.util.UriUtils; import kr.co.mathrank.domain.auth.dto.OAuthLoginCommand; import kr.co.mathrank.domain.auth.entity.OAuthProvider; @@ -64,7 +68,7 @@ public boolean revoke(final String refreshToken) { .uri(uriBuilder -> uriBuilder .queryParam("client_id", naverConfiguration.getClientId()) .queryParam("client_secret", naverConfiguration.getClientSecret()) - .queryParam("access_token", token.access_token()) + .queryParam("access_token", UriUtils.encode(token.access_token(), StandardCharsets.UTF_8)) .queryParam("grant_type", "delete") .queryParam("service_provider", "NAVER") .build()) diff --git a/domain/mathrank-auth-domain/src/test/java/kr/co/mathrank/domain/auth/util/UriUtilEncodeTest.java b/domain/mathrank-auth-domain/src/test/java/kr/co/mathrank/domain/auth/util/UriUtilEncodeTest.java new file mode 100644 index 00000000..d712437a --- /dev/null +++ b/domain/mathrank-auth-domain/src/test/java/kr/co/mathrank/domain/auth/util/UriUtilEncodeTest.java @@ -0,0 +1,16 @@ +package kr.co.mathrank.domain.auth.util; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.springframework.web.util.UriUtils; + +class UriUtilEncodeTest { + @Test + void plus_문자_인코딩_테스트() { + Assertions.assertNotEquals("+", UriUtils.encode("+", StandardCharsets.UTF_8)); + Assertions.assertEquals("+", UriUtils.decode("+", StandardCharsets.UTF_8)); + } +}