채택완료

네이버아이디로그인 오류

2016-07-15 (금) 20:46:11 5,659

네이버에서 아래처럼 메일이왔었는데요, 확인해보니 아래 부분은 정상이었고,

예고했던 15일에 오류가발생했어요.

뭘 어떻게 수정해야하는건지 도움을 요청드립니다ㅠ.

/public_html/board/gp/plugins/sociallogin/inc/class.naver.php 에

$nOauth = new NaverOAuth($this->api_client_id, $this->api_secret, $state); <---- 오류라고 체크되네요

Copy
function _redirect($md = 'login')    {        if ($md == 'connect') set_session('oauth_naver_md', 'connect');        else set_session('oauth_naver_md', false);        $nOauth = new NaverOAuth($this->api_client_id, $this->api_secret, $this->_get_callback_url($md));        $nOauth-> set_state();        goto_url($nOauth-> get_request_url());    }    function callback()    {        $md = get_session('oauth_naver_md');        $nOauth = new NaverOAuth($this->api_client_id, $this->api_secret, $state);        $nOauth-> call_accesstoken();        $user = $nOauth-> get_user_profile();        if(!$user['id']) {          alert('소셜로그인: 로그인 실패', $this->getRedirectUrl());          return;        }

---------------------------------------------

애플리케이션에서 이용중인 네아로 OpenAPI에서
HTTP 스펙에 맞지 않는 요청이 감지되어 서비스 점검을 요청드립니다. 
 
네아로 OpenAPI 를 호출하는 과정에서, HTTP 헤더의 전송 방식이 HTTP 규격에 맞지 않게
헤더명과 구분자(colon) 사이에 공백(Space)을 포함하고 있습니다. 
네이버 로그인 기반 OpenAPI(프로필 정보조회, 블로그, 카페, 캘린더 API) 호출 시
HTTP 요청 헤더에 "Authorization" 헤더를 설정하여 전달하도록 되어있는데,
헤더명(Authorization)과 구분자(:) 사이에 공백이 포함되어 전달되는 경우가 있습니다.

이 경우 정상적으로 API 수행이 불가하니 다음과 같이 수정해 주세요.

잘못 ) $header = "Authorization : Bearer accesstoken...";
정상 ) $header = "Authorization: Bearer accesstoken...";  

답변 1개

채택된 답변
+20 포인트
2016-07-18 (월) 16:12:15

/public_html/board/gp/plugins/sociallogin/lib/naver/naver.php 66번째 줄 공백을 삭제하세요.

Copy
//          'Authorization : '.$data['token_type'].' '.$data['access_token']             'Authorization: '.$data['token_type'].' '.$data['access_token']
 

답변을 작성하려면 로그인이 필요합니다.