티스토리 뷰

네이버 로그인 연동을 로컬호스트에서 해보기로 한다. 그냥 이니시스 처럼 sample download로 간편하게 하면 좋은데... 그렇게 되어 있지는 않다.

그래서 매뉴얼 보면서 하나씩 해봐야 한다.

우선 https://developers.naver.com/ 를 간다.

https://developers.naver.com/products/login/api/api.md

 

네이버 로그인 - INTRO

환영합니다 네이버 로그인의 올바른 적용방법을 알아볼까요? 네이버 로그인을 통해 신규 회원을 늘리고, 기존 회원은 간편하게 로그인하게 하려면 제대로 적용하는 것이 중요합니다! 이에 올바

developers.naver.com

네이버 로그인으로 간다.

상단 메뉴의 Application을 클릭한다.

https://developers.naver.com/apps/#/list

 

애플리케이션 - NAVER Developers

 

developers.naver.com

그냥 간단하게 로컬호스트에서 한다. 로컬세팅은 xampp로 하였다.

Application 등록 버튼을 클릭하여 application을 등록한다.

머 검수어쩌고 저쩌고 나오는데 나는 그냥 바로 어플리케이션 등록하고 로컬에서 바로 테스트했는데 잘 되었다.

application 등록 했으면 Client ID와 Client Secret 이 보일것이다. 이 2가지만 있으면 된다.

https://developers.naver.com/docs/login/api/api.md

 

네이버 로그인 API 명세 - LOGIN

'네이버 로그인 API는 네이버 로그인 인증 요청 API, 접근 토큰 발급/갱신/삭제 요청API로 구성되어 있습니다. 네이버 로그인 인증 요청 API는 여러분의 웹 또는 앱에 네이버 로그인 화면을 띄우는 AP

developers.naver.com

네이버 로그인 API 명세를 보면 예제 소스들이 있다. (나는 PHP로 하였다.)

그냥 복사 하여 내 로컬에서 붙여넣기를 한다.

네이버 로그인 접근토큰 획득 예제는 2개의 파일로 구성되어 있습니다. (naverlogin.php, callback.php)
1. naverlogin.php
<?php
  // 네이버 로그인 접근토큰 요청 예제
  $client_id = "YOUR_CLIENT_ID";
  $redirectURI = urlencode("YOUR_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;
?><a href="<?php echo $apiURL ?>"><img height="50" src="http://static.nid.naver.com/oauth/small_g_in.PNG"/></a>


2. callback.php
<?php
  // 네이버 로그인 콜백 예제
  $client_id = "YOUR_CLIENT_ID";
  $client_secret = "YOUR_CLIENT_SECRET";
  $code = $_GET["code"];;
  $state = $_GET["state"];;
  $redirectURI = urlencode("YOUR_CALLBACK_URL");
  $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_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, $is_post);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $headers = array();
  $response = curl_exec ($ch);
  $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  echo "status_code:".$status_code."
";
  curl_close ($ch);
  if($status_code == 200) {
    echo $response;
  } else {
    echo "Error 내용:".$response;
  }
?>

위에 있는대로 1. naver_login.php 를 만든다.

<?php
  // 네이버 로그인 접근토큰 요청 예제
  $client_id = "YOUR_CLIENT_ID";
  $redirectURI = urlencode("http://localhost/naverlogin/callback.php");
  $state = "RAMDOM_STATE";
  $apiURL = "https://nid.naver.com/oauth2.0/authorize?response_type=code&client_id=".$client_id."&redirect_uri=".$redirectURI."&state=".$state;
?><a href="<?php echo $apiURL ?>"><img height="50" src="http://static.nid.naver.com/oauth/small_g_in.PNG"/></a>

여기서는 2가지 정보를 수정한다.

$client_id와 $redirectURI 2가지이다.

$client_id는 application 등록한데 가보면 있고 $redirectURI 는 본인이 받을 정보이다. 난 위와 같이 하였다.

naverlogin 폴더를 만들고 naverlogin.php 파일을 만들어 호출하면 위와 같이 나온다.

로그인 버튼을 누르면 네이버 창이 뜨면서 로그인하라고 나온다. 로그인 하면 callback.php가 호출되며

위와 같이 access_token정보가 찍힌다.

여기까지가 예제의 전부이다. 우리는 사용자 정보를 가져와야 하기 때문에 다음 글을 읽어야 한다.

회원 프로필 조회 API 명세는 다음글에서..

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함