로그인 오류 문의 드립니다

안녕하세요. 로그인 오류에 대해서 문의 드립니다.

팝업방식으로 연동을해서 웹상으로 잘 연동이 되어서 이용하고 있었는데…

하이브리드로 사용시 안되어서

그래서 다이렉트 방식으로 바꾸어서 테스트를 진행하고 있습니다.

로그인까지는 잘되는 토큰 받기가 안됩니다.

오류 메세지는

Failed to load resource: the server responded with a status of 401 (Unauthorized)

{“msg”:“no authentication key!”,“code”:-401}

이런한 오류가 발생하면 토큰 받기 안되어서 그렇다고해서 설명서대로

토큰받기를 실행을 했습니다.

그런데도 똑 같은 오류가 발생합니다.

소스가 잘못된건지 아님 셋팅과정이 머가 빠진것인지 알고 싶습니다.

아이디는 625881 입니다.

테스트 주소는 http://zzinstore.com/m/gg_login.asp

소스는 밑에 같습니다.

===============================================

<a id="custom-login-btn" href="javascript:loginWithKakao()">
  <img
    src="//k.kakaocdn.net/14/dn/btroDszwNrM/I6efHub1SN5KCJqLm1Ovx1/o.jpg"
    width="222"
  />
</a>
<p id="token-result"></p>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://developers.kakao.com/sdk/js/kakao.js"></script>
<script type="text/javascript">
  window.Kakao.init('d165cae150b5934785b1ba6078d45a86');

	


function getKakaotalkUserProfile(){ 


				window.Kakao.API.request({ 
					


 					url: '/v2/user/me', 
					
 					success: function(res) { 

						Kakao.Auth.setAccessToken(res.access_token);
						

					var $form = $('<form></form>');
					$form.attr('action', 'k_login_ok.asp');
					$form.attr('method', 'post');
					$form.attr('target', '_self');  // 타겟은 임의로 지정함
					$form.appendTo('body');

					var fuid = $('<input name="fuid" type="hidden" value="'+res.kakao_account.email+'">');
					var fname = $('<input name="fname" type="hidden" value="'+res.properties.nickname+'">');
					var fsex = $('<input name="fsex" type="hidden" value="O">');
					var ffirst_name = $('<input name="fpicture" type="hidden" value="LL">');
					var flast_name = $('<input name="fid" type="hidden" value="">');
					var flocale = $('<input name="flocale" type="hidden" value="j">');
					var fbirthday = $('<input name="fbirthday" type="hidden" value="k">');

					$form.append(fuid).append(fname).append(fsex).append(ffirst_name).append(flast_name).append(flocale).append(fbirthday);
					$form.submit();
 						
					}, 
 					fail: function(error) { 
 						console.log(error); 
 					} 
 				}); 
 			} 


  
  function loginWithKakao() {
	 
    Kakao.Auth.authorize({
	  redirectUri: 'http://zzinstore.com/m/gg_login.asp'
    })
  }
  // 아래는 데모를 위한 UI 코드입니다.
  displayToken()
  function displayToken() {
    const token = getCookie('authorize-access-token')
	if(token) {
      Kakao.Auth.setAccessToken(token)
      Kakao.Auth.getStatusInfo(({ status }) => {
		  alert(status);
        if(status === 'connected') {
          document.getElementById('token-result').innerText = 'login success. token: ' + Kakao.Auth.getAccessToken()
        } else {
          Kakao.Auth.setAccessToken(null)
        }
      })
    }
  }
  function getCookie(name) {
	  
	  const value = "; " + document.cookie;
    const parts = value.split("; " + name + "=");
	getKakaotalkUserProfile();
    if (parts.length === 2) return parts.pop().split(";").shift();
  }
</script>

======================================================

안녕하세요.

JS SDK authorize 방식으로 구현하셨군요.

(1) authorize함수 호출 시, 카카오에 인가요청하고 설정하신 리다이렉트URI로 이동하게됩니다.
(2) 리다이렉트URI로 인가코드(code파라메터)를 전달합니다. 페이지가 이동(302리다이렉트)되므로 기존 스크립트 객체는 모두 초기화됩니다.
(3) code파라메터를 가지고 토큰 받기API를 호출해야합니다. (쿠키에서 토큰을 얻을 수 없습니다.)

REST API | Kakao Developers 문서


아래 예제 참고하시면 도움이 될 것 같습니다.

[rest api 예제] node.js- 카카오 로그인, 카카오 친구목록 조회, 나에게 메시지 발송