카카오 소셜로그인 최종 수정

dev_bert
snut97 3 years ago
parent cc934775f5
commit 2ea12600fa

@ -9,11 +9,12 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<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 afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/social_login_common.ftl" 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/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/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/META-INF/context.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/META-INF/context.xml" 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/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/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>
<option name="SHOW_DIALOG" value="false" />
@ -60,7 +61,7 @@
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login" />
<property name="project.structure.last.edited" value="프로젝트" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
@ -69,11 +70,11 @@
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\login" />
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\include" />
<recent name="C:\project\bf\src\main\webapp\WEB-INF\views\ftl\m\index" />
<recent name="C:\project\bf\src\main\java\com\backoffice\m\tutorial" />
<recent name="C:\project\bf\src\main\java\com\backoffice\m" />
<recent name="C:\project\bf\src\main\resources\sqlmap\m" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.backoffice.m.tutorial" />
@ -250,14 +251,8 @@
<workItem from="1651457534351" duration="24275000" />
<workItem from="1651552871470" duration="866000" />
<workItem from="1651626281483" duration="151000" />
<workItem from="1651631474537" duration="8287000" />
</task>
<task id="LOCAL-00009" summary="추천홈메이드이유식 &gt; 팝업 &gt; 연관식품 삭제">
<created>1648455408468</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1648455408468</updated>
<workItem from="1651631474537" duration="12924000" />
<workItem from="1651659992753" duration="18000" />
</task>
<task id="LOCAL-00010" summary="예방접종 표시 오류 수정">
<created>1648559536812</created>
@ -595,7 +590,14 @@
<option name="project" value="LOCAL" />
<updated>1651549880517</updated>
</task>
<option name="localTasksCounter" value="58" />
<task id="LOCAL-00058" summary="카카오 소셜로그인 수정">
<created>1651642988293</created>
<option name="number" value="00058" />
<option name="presentableId" value="LOCAL-00058" />
<option name="project" value="LOCAL" />
<updated>1651642988293</updated>
</task>
<option name="localTasksCounter" value="59" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -615,7 +617,6 @@
<component name="VcsManagerConfiguration">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" />
<MESSAGE value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" />
<MESSAGE value="메모리 공유기능 적용 - 카카오, URL복사" />
<MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완" />
<MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완 - 2" />
@ -640,6 +641,7 @@
<MESSAGE value="메모리 &gt; 주간 오류 수정" />
<MESSAGE value="- 아이3명 보기오류 수정&#10;- 아기정보 변경시 생년월이 형식 체크 추가&#10;- 앱 네이버로그인시 코드 수정" />
<MESSAGE value="앱 네이버소셜로그인 수정" />
<option name="LAST_COMMIT_MESSAGE" value="앱 네이버소셜로그인 수정" />
<MESSAGE value="카카오 소셜로그인 수정" />
<option name="LAST_COMMIT_MESSAGE" value="카카오 소셜로그인 수정" />
</component>
</project>

@ -12,13 +12,13 @@
<input type="hidden" name="token" value="" />
</form>
<#include "/m/login/social_login_common.ftl">
<script type="text/javascript">
$(function(){
// const code = getCookie('authorize-access-token')
$.ajax({
url:'https://kauth.kakao.com/oauth/token',
type:'get',
type:'post',
data:{
"grant_type" : "authorization_code",
"client_id" : "${KAKAO_APP_KEY}",
@ -33,48 +33,11 @@
fn_L_loginCallback("KAKAO", result.access_token);
}
});
// fn_L_loginCallback('KAKAO', "wh49vjdyPpLBQ5srJWJBNbZ2a-ZZUzq9Ot44PZaf0FdWirJPU3ImZNCefVbv6p40hHKo8QopcBQAAAGAjRkjAw", '', '');
// window.close();
});
</script>
// 소셜 로그인 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>
</html>

@ -1,6 +1,6 @@
<html lang="ko">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="https://static.nid.naver.com/js/naverLogin_implicit-1.0.3.js" charset="utf-8"></script>
<body>
<form id="frmJoin" name="frmJoin" method="post" action="loginByMemberId.do" enctype="multipart/form-data">
<input type="hidden" name="OS" value="${model['OS']!}" />
@ -10,60 +10,12 @@
<input type="hidden" name="token" value="" />
</form>
<#include "/m/login/social_login_common.ftl">
<script type="text/javascript">
var a = location.href;
var b = a.split("access_token=")[1];
var key = b.split("&")[0];
fn_L_loginCallback('NAVER', key);
// opener.parent.fn_L_loginCallback('NAVER', key);
// window.close();
// var naver_id_login = new naver_id_login("YOUR_CLIENT_ID", "YOUR_CALLBACK_URL");
// var naver_id_login = new naver_id_login("SGrtulQWT7DeFmD3XDNN", "http://dev.bf.co.kr:8080/bf/m/login/nhnLogin_callback");
// 네이버 사용자 프로필 조회
// naver_id_login.get_naver_userprofile("naverSignInCallback()");
// 네이버 사용자 프로필 조회 이후 프로필 정보를 처리할 callback function
/*
function naverSignInCallback() {
var a = location.href;
var b = a.split("access_token=")[1];
var key = b.split("&")[0];
console.log("---네이버----");
console.log(key);
}
*/
// 소셜 로그인 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));
}
</script>
</body>
</html>

@ -0,0 +1,35 @@
<html lang="ko">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
// 소셜 로그인 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));
}
</script>

@ -130,34 +130,35 @@
}
// 소셜 로그인 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 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));-->
<#--}-->
//reset_btn클릭시 input 값 없애기
function reset_onclick(inputID){
var resetinput = document.getElementById(inputID);

Loading…
Cancel
Save