로그인은 아래의 소스로 합니다.
php로 키 값은 넣었고 … 로그인은 잘되서 콜백 경로로 … 잘 이동합니다.
리턴 값은
code=9mwU8XXLi7DybjzcHY_PvESCMVJvJN9EV1mOmpl8_no79UONC-27UmgyclaRlrJnB_hxugorDKcAAAFzolj6Pg
이렇게 파라미터값이 넘어오고 정상으로 보이는데…
콜백받은 곳에서 … 사용자의 이메일과 닉네임을 가져오려고 하는데.
에러가 나네요.
https://kapi.kakao.com/v2/user/me 에서 {“msg”:“no authentication key!”,“code”:-401} 메세지가 떨어집니다.
토큰을 가져오지 못해서 … 그런거 같은데…
콜백위치에서 … 어떻게 토큰을 가져올 수 있을까요?
로그인 시 소스
Kakao.init('<?=$kakao_id_key?>');
function loginWithKakao(){
Kakao.Auth.authorize({
// 초기화한 앱의 로그인 Redirect URI에 등록된 URI여야 합니다.
redirectUri: '<?=$kakao_callback_url?>'
});
}
// 아래는 데모를 위한 UI 코드입니다.
getToken();
function getToken(){
const token = getCookie('authorize-access-token');
if(token){
Kakao.Auth.setAccessToken(token);
document.getElementById('token-result').innerText = 'login success. token: ' + Kakao.Auth.getAccessToken();
}
}
function getCookie(name){
const value = "; " + document.cookie;
const parts = value.split("; " + name + "=");
if (parts.length === 2) return parts.pop().split(";").shift();
}
콜백 위치에서 사용자 정보를 가져오는 소스
Kakao.init('".KAKAO_ID_KEY."');
Kakao.API.request({
url: '/v2/user/me'
, success: function(res){
console.log(JSON.stringify(res));
}
, fail: function(error){
alert('login success, but failed to request user information: '+JSON.stringify(error));
}
});