안녕하세요 카카오 로그인 rest api 이용 중 오류가 생겨서요
ID : 923348
인가코드로 토큰을 받아오는 와중에 계속
400 BAD_REQUEST from POST https://kauth.kakao.com/oauth/token [DefaultWebClient]
오류 또는
401 UNAUTHORIZED from POST https://kauth.kakao.com/oauth/token [DefaultWebClient]
이렇게 계속 떠서요… ㅠㅠ
post주소 잘 매핑 된 거 같은데 왜 그럴까요?? 코드 남겨봅니다!
@RequiredArgsConstructor
@Service
public class KakaoLoginBO {
private static String TOKEN_URI = "https://kauth.kakao.com/oauth/token";
private static String REDIRECT_URI = "https://localhost/kakaoLogin";
private static String GRANT_TYPE = "authorization_code";
private static String CLIENT_ID = "#";
private static String CLIENT_Secret = "#";
public KakaoToken getToken(String code) {
//요청 param (body)
MultiValueMap<String , String> params = new LinkedMultiValueMap<>();
params.add("grant_type", GRANT_TYPE);
params.add("client_id",CLIENT_ID );
params.add("redirect_uri",REDIRECT_URI);
params.add("code", code);
params.add("client_secret", CLIENT_Secret);
WebClient webClient = WebClient.create(TOKEN_URI);
// baseURL 뒤에 붙일 파라미터들 넣기
String response = webClient.post()
.uri(TOKEN_URI)
.body(BodyInserters.fromFormData(params))
.header("Content-type","application/x-www-form-urlencoded;charset=utf-8" )
.retrieve()
.bodyToMono(String.class).block();
// //json형태로 변환
ObjectMapper objectMapper = new ObjectMapper();
KakaoToken kakaoToken = null;
try {
kakaoToken = objectMapper.readValue(response, KakaoToken.class);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return kakaoToken;
}