앱 아이디는 1004455 입니다.
카카오 로그인을 구현하는 과정에서 getToken에서 오류가 발생합니다…
어디서 잘못되었는지 잘 모르겠습니다…
https://kauth.kakao.com/oauth/authorize?client_id=58fc709768dcd1b5dc6a4f72874b6e2b&redirect_uri=http://localhost:8080/api/user/kakao/callback&response_type=code
해당 링크를 들어가 보면 401 Unauthorized: [no body]라는 오류가 나오고
포스트맨으로 확인을 해보려고 하면
{
“msg”: “this access token does not exist”,
“code”: -401
}이런 문구와
Error: invalid_client, Description: Bad client credentials이런 오류가 발생하고 있습니다
토큰을 못 받아서 그런거 같기도한데
private String getToken(String code) throws JsonProcessingException {
// HTTP Header 생성
HttpHeaders headers = new HttpHeaders();
headers.add(“Content-type”, “application/x-www-form-urlencoded;charset=utf-8”);
// HTTP Body 생성
MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
body.add("grant_type", "authorization_code");
body.add("client_id", kakaoClientId);
body.add("client_secret", kakaoClientSecret);
body.add("redirect_uri", kakaoRedirectUri);
body.add("code", code);
// HTTP 요청 보내기
HttpEntity<MultiValueMap<String, String>> kakaoTokenRequest =
new HttpEntity<>(body, headers);
ResponseEntity<String> response = new RestTemplate().exchange(
"https://kauth.kakao.com/oauth/token",
HttpMethod.POST,
kakaoTokenRequest,
String.class
);
// HTTP 응답 (JSON) -> 액세스 토큰
String responseBody = response.getBody();
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(responseBody);
return jsonNode.get("access_token").asText();
}
혹시 잘못된 부분이 있을까요…?