https://www.xpressengine.com/index.php?mid=download&package_id=22753522
LginXE Server ver 1.02를 이용하여 하였다
해당 화일은 loginxeserver.view.php 이다
elseif($service=='github') { if(!isset($module_config->githubclientid) || $module_config->githubclientid=='' || !isset($module_config->githubclientkey) || $module_config->githubclientkey=='') { Context::set('url',getNotEncodedUrl('','module','loginxeserver','act','dispLoginxeserverOAuthFinish','error','1','message','loginxe_not_finished_setting')); return; } Context::set('url','https://github.com/login/oauth/authorize?client_id=' . $module_config->githubclientid . '&redirect_uri=' . urlencode(getNotEncodedFullUrl('','module','loginxeserver','act','dispLoginxeserverOAuthFinish','provider','github','callback','')) . '&state=' . $state . '&scope=user'); //Context::set('url',getNotEncodedUrl('','module','loginxeserver','act','dispLoginxeserverOAuthFinish','error','1','message','loginxe_not_implemented')); return; }
위와 같은 소스 밑에 아래 같이 추가
elseif($service=='kakao') // 카카오 로그인을 위한것 myceo수정 { if(!isset($module_config->kakaoclientid) || $module_config->kakaoclientid=='' || !isset($module_config->kakaoclientkey) || $module_config->kakaoclientkey=='') { Context::set('url',getNotEncodedUrl('','module','loginxeserver','act','dispLoginxeserverOAuthFinish','error','1','message','loginxe_not_finished_setting')); return; } Context::set('url','https://kauth.kakao.com/oauth/authorize?client_id=' . $module_config->kakaoclientid . '&response_type=code&redirect_uri=' . urlencode(getNotEncodedFullUrl('','module','loginxeserver','act','dispLoginxeserverOAuthFinish','provider','kakao','callback','')) . '&state=' . $state); //Context::set('url',getNotEncodedUrl('','module','loginxeserver','act','dispLoginxeserverOAuthFinish','error','1','message','loginxe_not_implemented')); return; }
또 밑에 쭈~~욱 보면
elseif($service=='github') { //API 서버에 code와 state값을 보내 인증키를 받아 온다 $ping_url = 'https://github.com/login/oauth/access_token'; $ping_header = array(); $ping_header['Host'] = 'github.com'; $ping_header['Pragma'] = 'no-cache'; $ping_header['Accept'] = 'application/json'; $request_config = array(); $request_config['ssl_verify_peer'] = false; $buff=FileHandler::getRemoteResource($ping_url, null, 10, 'POST', 'application/x-www-form-urlencoded', $ping_header, array(), array('client_id'=>$module_config->githubclientid,'client_secret'=>$module_config->githubclientkey,'code'=>$code), $request_config); $data=json_decode($buff); debugPrint($buff); }
위와 같은 소스 밑에 카카오 로그인시 토큰 받아오기를 했다
elseif($service=='kakao')// 카카오 로그인을 위한것 myceo수정 { //API 서버에 clientid를 보내서 code값을 받아 온다 $REDIRECT_URI=urlencode('http://www.myceo.co.kr/index.php?module=loginxeserver&act=dispLoginxeserverOAuthFinish&provider=kakao'); $ping_url = 'https://kauth.kakao.com/oauth/token?client_id=' . $module_config->kakaoclientid . '&redirect_uri=' . $REDIRECT_URI . '&grant_type=authorization_code&state=' . $state . '&code=' . $code; $ping_header = array(); $ping_header['Host'] = 'kauth.kakao.com'; $request_config = array(); $request_config['ssl_verify_peer'] = false; $buff = FileHandler::getRemoteResource($ping_url, null, 10, 'POST', 'application/json', $ping_header, array(), array(), $request_config); $data= json_decode($buff); debugPrint($buff); }
이렇게 하면 일단 token는 받아 온다
정리가 되는 되로 loginxeclient.class.php도 올리여 겠다
소스 화일이 이상하면 댓글좀 달아 주삼~
■ 연관된글
-
카카오 드라이버 '갈등' 재점화?..反 카카오 시위 예고
-
'카카오 드라이버' 영업하게 해달라… 가처분 사건 11월 결론
-
로지소프트(바나플)송민기사장,국정감사 증인불참
-
카카오, 지지부진한 주가 언제까지?