안녕하세요. 로그인 오류에 대해서 문의 드립니다.
팝업방식으로 연동을해서 웹상으로 잘 연동이 되어서 이용하고 있었는데…
하이브리드로 사용시 안되어서
그래서 다이렉트 방식으로 바꾸어서 테스트를 진행하고 있습니다.
로그인까지는 잘되는 토큰 받기가 안됩니다.
오류 메세지는
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>
======================================================