카카오 로그인 API 이용시 사용자 정보 가져오기 단계에서 400 에러가 발생합니다

안녕하세요.

먼저 기존에는 정상동작하던 API 임을 미리 말씀드립니다.

며칠 전 홈페이지가 클라우드 환경으로 이전되었습니다. 이후로 카카오 로그인만 동작하지 않는데요.

로그인 처리를 따라가보면 access_token 발급 이후 get_profile() 함수를 이용하여 profile 정보를 조회할 때 문제가 발생합니다.

조회하면 다른 메세지는 아무것도 발생하지 않고 ‘400’ 이라는 숫자만 찍히는데요.

사용한 함수는 아래와 같습니다.

profile_url 은 ‘https://kapi.kakao.com/v2/user/me
access_token 은 바로 전단계에서 호출합니다.

function get_profile() {
	$ch = curl_init();

	curl_setopt($ch, CURLOPT_URL, $this->profile_url);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$this->access_token));

	$json = curl_exec($ch);
	curl_close($ch);

	if($json)
		$this->profile = json_decode($json);
}

서버구성을 제가 한게 아니어서 정확하게는 모르지만… ssh 접속 후 API 페이지의 엑세스토큰을 이용한 호출 을 이용하여 호출해보면 정상 호출됩니다.

또한 서버 구성 상 도메인 IP 와 서버자체에 설정된 IP가 다른 상태입니다. 이 또한 문제해결에 관련이 있지 않을까 해서 적어놓습니다.

앱 ID 는 290958 입니다.

감사합니다.

카카오 API는 에러 발생 시, Response Body에 상세한 에러 원인을 Message로 전달합니다.
에러 코드나 Exception Trace만 확인하지 마시고 에러 Response Body 확인해주세요.

290958 디벨로퍼스앱에 400에러 로그가 조회되지 않습니다. 액세스토큰 헤더 설정이 잘못되었거나 유효하지 않은 액세스 토큰을 사용하셨을 것으로 보입니다.

에러 발생한 엑세스 토큰 기재해주시면 추가로 확인해보겠습니다.

안녕하세요.

eUCyzcZBHbl_5TmZEToGFthd41ZsBba5Kdo30GFoCinJXgAAAYfZ8Xiz

위 엑세스토큰으로 5월2일 9시50분경 시도해봤습니다.

감사합니다.

해당 액세스 토큰으로 사용자 정보 가져오기 성공/실패 이력이 모두 없습니다.

Response Body 에 어떤값이 전달되었는지 확인 부탁드려요.

안녕하세요.

기존에 curl 을 통해 프로필 정보를 받아오는 과정에서 POST 방식을 이용했었는데요.

서버 이전 후 curl POST 방식 통신에 문제가 있는 것 같습니다. GET 방식으로 전환하니 정상 작동하네요.

통신에 문제가 있어서 response body 출력까지 가지도 못하고 400 에러를 발생했던 것 같습니다.

확인 감사드립니다.

1개의 좋아요