카카오 소셜로그인 수정

dev_bert
snut97 3 years ago
parent a8d0713562
commit 0a250f0004

@ -9,10 +9,11 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="4099ff18-820b-4e43-a4c5-6159d58dccc4" name="변경" comment="아이디 저장기능 적용"> <list default="true" id="4099ff18-820b-4e43-a4c5-6159d58dccc4" name="변경" comment="앱 네이버소셜로그인 수정">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/index/index.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/index/index.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/m/login/M_LoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/m/login/M_LoginController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/nhnLogin_callback.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/nhnLogin_callback.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/m/util/M_Util.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/m/util/M_Util.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/kakaoLogin_callback.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/kakaoLogin_callback.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_login.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_login.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_login.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_login.ftl" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@ -247,13 +248,9 @@
<workItem from="1651382880827" duration="4947000" /> <workItem from="1651382880827" duration="4947000" />
<workItem from="1651421131462" duration="153000" /> <workItem from="1651421131462" duration="153000" />
<workItem from="1651457534351" duration="24275000" /> <workItem from="1651457534351" duration="24275000" />
</task> <workItem from="1651552871470" duration="866000" />
<task id="LOCAL-00008" summary="추천홈메이드이유식 수정"> <workItem from="1651626281483" duration="151000" />
<created>1648453690193</created> <workItem from="1651631474537" duration="8287000" />
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1648453690193</updated>
</task> </task>
<task id="LOCAL-00009" summary="추천홈메이드이유식 &gt; 팝업 &gt; 연관식품 삭제"> <task id="LOCAL-00009" summary="추천홈메이드이유식 &gt; 팝업 &gt; 연관식품 삭제">
<created>1648455408468</created> <created>1648455408468</created>
@ -591,7 +588,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1651483285807</updated> <updated>1651483285807</updated>
</task> </task>
<option name="localTasksCounter" value="57" /> <task id="LOCAL-00057" summary="앱 네이버소셜로그인 수정">
<created>1651549880517</created>
<option name="number" value="00057" />
<option name="presentableId" value="LOCAL-00057" />
<option name="project" value="LOCAL" />
<updated>1651549880517</updated>
</task>
<option name="localTasksCounter" value="58" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@ -611,7 +615,6 @@
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" /> <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" /> <option name="CHECK_NEW_TODO" value="false" />
<MESSAGE value="추천이유식 - 추천이유식 식재료 팝업 및 카트 팝업 적용.-2" />
<MESSAGE value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" /> <MESSAGE value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" />
<MESSAGE value="메모리 공유기능 적용 - 카카오, URL복사" /> <MESSAGE value="메모리 공유기능 적용 - 카카오, URL복사" />
<MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완" /> <MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완" />
@ -636,6 +639,7 @@
<MESSAGE value="튜토리얼 기능 적용-2" /> <MESSAGE value="튜토리얼 기능 적용-2" />
<MESSAGE value="메모리 &gt; 주간 오류 수정" /> <MESSAGE value="메모리 &gt; 주간 오류 수정" />
<MESSAGE value="- 아이3명 보기오류 수정&#10;- 아기정보 변경시 생년월이 형식 체크 추가&#10;- 앱 네이버로그인시 코드 수정" /> <MESSAGE value="- 아이3명 보기오류 수정&#10;- 아기정보 변경시 생년월이 형식 체크 추가&#10;- 앱 네이버로그인시 코드 수정" />
<option name="LAST_COMMIT_MESSAGE" value="- 아이3명 보기오류 수정&#10;- 아기정보 변경시 생년월이 형식 체크 추가&#10;- 앱 네이버로그인시 코드 수정" /> <MESSAGE value="앱 네이버소셜로그인 수정" />
<option name="LAST_COMMIT_MESSAGE" value="앱 네이버소셜로그인 수정" />
</component> </component>
</project> </project>

@ -703,6 +703,9 @@ public class M_LoginController extends AbstractControllerManager{
@RequestMapping(value="kakaoLogin_callback") @RequestMapping(value="kakaoLogin_callback")
public String kakaoLogin_callback(@ModelAttribute("model") ModelMap model, HttpServletRequest request){ public String kakaoLogin_callback(@ModelAttribute("model") ModelMap model, HttpServletRequest request){
DataMap paramMap = gmUtil.getDataMapFromRequest(request);
gmUtil.redirectParam(model, paramMap);
return "m/login/kakaoLogin_callback"; return "m/login/kakaoLogin_callback";
} }

@ -406,6 +406,8 @@ public class M_Util {
// return paramMap; // return paramMap;
} }
} catch(Exception e) { } catch(Exception e) {
log.info("소셜연동 오류 ------- ");
log.info(e.toString());
// return paramMap; // return paramMap;
} }
return paramMap; return paramMap;

@ -4,14 +4,77 @@
<p id="token-result"></p> <p id="token-result"></p>
<form id="frmJoin" name="frmJoin" method="post" action="loginByMemberId.do" enctype="multipart/form-data">
<input type="hidden" name="OS" value="${model['OS']!}" />
<input type="hidden" name="vn" value="${model['vn']!}" />
<input type="hidden" name="vc" value="${model['vc']!}" />
<input type="hidden" name="socialType" value="" />
<input type="hidden" name="token" value="" />
</form>
<script type="text/javascript"> <script type="text/javascript">
$(function(){ $(function(){
var key = getCookie('authorize-access-token'); // const code = getCookie('authorize-access-token')
// console.log(key);
alert("로그인키:" + key); $.ajax({
url:'https://kauth.kakao.com/oauth/token',
type:'get',
data:{
"grant_type" : "authorization_code",
"client_id" : "${KAKAO_APP_KEY}",
// "redirect_uri" : "http://127.0.0.1:9000/kakaocallback",
"code" : "${model['code']}"
},
dataType:'json',
error:function(request,status,error){
},
success:function(result){
// console.log(result);
fn_L_loginCallback("KAKAO", result.access_token);
}
});
opener.parent.fn_L_loginCallback('KAKAO', key, '', ''); // fn_L_loginCallback('KAKAO', "wh49vjdyPpLBQ5srJWJBNbZ2a-ZZUzq9Ot44PZaf0FdWirJPU3ImZNCefVbv6p40hHKo8QopcBQAAAGAjRkjAw", '', '');
window.close(); // window.close();
}); });
// 소셜 로그인 callback 정보 받기
function fn_L_loginCallback(socialType, key){
//소셜로그인 체크여부 확인
$.ajax({
url:'${URL_ROOT}/m/login/socialJoinCheck.do',
type:'get',
data: {
"socialType": socialType,
"token" : key
},
dataType:'json',
}).done(function(result) {
if(result.socialJoin == "X") {
Swal.fire({text:"해당계정은 탈퇴 처리 되었습니다. 30일 이후에 재가입 하실수 있습니다."})
return;
}
//소셜연동정보가 있다면 소셜연동으로 회원가입 사용자에게 확인
if(result.socialJoin == "N") {
if(!confirm( "[" + socialType + "] 연동 회원가입정보가 없습니다. [" + socialType + "] 정보로 회원가입 하시겠습니까?")) {
return;
}
}
var form = document.frmJoin;
form.socialType.value = socialType;
form.token.value = key;
form.action = "${URL_ROOT}/m/login/socialLogin.do";
form.submit();
}.bind(this));
}
function getCookie(name) {
const value = "; " + document.cookie;
console.log(value);
const parts = value.split("; " + name + "=");
if (parts.length === 2) return parts.pop().split(";").shift();
}
</script> </script>
</html> </html>

@ -106,6 +106,8 @@
// window.open(url, 'naverloginpop', 'titlebar=1, resizable=1, scrollbars=yes, width=600, height=550'); // window.open(url, 'naverloginpop', 'titlebar=1, resizable=1, scrollbars=yes, width=600, height=550');
location.href = url; location.href = url;
} else if(l_type == "K") { } else if(l_type == "K") {
loginWithKakao();
/*
//카카오는 여기로 바로 redirect 한다. //카카오는 여기로 바로 redirect 한다.
Kakao.Auth.login({ Kakao.Auth.login({
success: function(authObj) { success: function(authObj) {
@ -117,9 +119,16 @@
alert("카카오 로그인을 실패하였습니다."); alert("카카오 로그인을 실패하였습니다.");
}, },
}) })
*/
} }
} }
function loginWithKakao() {
Kakao.Auth.authorize({
redirectUri: 'http://devops.lookylooks.ai:14288/bf/m/login/kakaoLogin_callback.do'
})
}
// 소셜 로그인 callback 정보 받기 // 소셜 로그인 callback 정보 받기
function fn_L_loginCallback(socialType, key){ function fn_L_loginCallback(socialType, key){
//소셜로그인 체크여부 확인 //소셜로그인 체크여부 확인

Loading…
Cancel
Save