CI 묻고 답하기

제목 네이버 아이디로 로그인 문의드려요!!!
카테고리 CI 2, 3
글쓴이 민양 작성시각 2018/09/23 23:53:37
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 13866   RSS

안녕하세요!! CI로 네이버 아이디 로그인을 만들어볼려고 하는데 검색을 해도 잘 모르겠어서요 ㅠㅠ

이렇게 문의 드립니다!

 

로그인 페이지

views->login.php

$client_id = "aaa"; // 위에서 발급받은 Client ID 입력

$redirectURI = urlencode("http://1234/auth/loginNaver"); //자신의 Callback URL 입력

$state = "RAMDOM_STATE";

$apiURL = "https://nid.naver.com/oauth2.0/authorize?response_type=code&client_id=".$client_id."&redirect_uri=".$redirectURI."&state=".$state;

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

로그인 버튼 클릭 시

core->MY_Controller.php

function generate_state(){

$mt = microtime(); // 현재의 Unix 타임 스탬프를 마이크로 초로 반환

$rand = mt_rand(); // 무작위 값 생성

return md5($mt . $rand);

}

 

controllers->Auth.php

public function loginNaver(){

// 토큰 발급

$state = $this->generate_state();       // 상태 토큰으로 사용할 랜덤 문자열을 생성

$this->session->set_userdata($state);   // 세션 저장 공간에 상태 토큰을 저장

 

// 네이버 로그인 콜백 예제

$client_id = "aaa";

$client_secret = "bbb";

$code = $this->input->get("code");

$state = $this->input->get("state");

$redirectURI = urlencode("http://1234");

$url = "https://nid.naver.com/oauth2.0/token?grant_type=authorization_code&client_id=".$client_id."&client_secret=".$client_secret."&redirect_uri=".$redirectURI."&code=".$code."&state=".$state;

 

// 토큰 값 가져오기

$is_post = false;

$ch = curl_init();  // curl_init : 세션 초기화

curl_setopt($ch, CURLOPT_URL, $url);    // curl_setopt : curl에 대한 옵션 설정

curl_setopt($ch, CURLOPT_POST, $is_post);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = array();

$response = curl_exec ($ch);    // curl_exec : curl에 대한 세션 실행

$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);   // curl_getinfo : curl에 대한 정보 얻기

echo "status_code:".$status_code."";

curl_close ($ch);   // curl_close : curl 세션 닫기

if($status_code == 200) {

    echo $response;

} else {

    echo "Error 내용:".$response;

}

       

$this->load->view("/auth/loginNaver");

}

 

이런식으로 했는데 화면에

status_code:200{ "error":"server_error", "error_description":"internal server error [(null)] ." }

이런 에러가 나오네요 ㅠㅠ

뭐를 어떻게 해야 할지 감이 안옵니다..

 다음글 codeigniter초보입니다. json관련 도와주세요... (7)
 이전글 안녕하세요 지메일 관련 문의드려요~ (1)

댓글

민양 / 2018/09/24 01:42:51 / 추천 0
해결했습니다!