This commit is contained in:
hyunho 2020-11-20 06:10:32 +00:00
parent be89aa4cab
commit 1683bb1f69
3 changed files with 116 additions and 15 deletions

View File

@ -21,8 +21,8 @@
</ul>
<br />
<div id="naverIdLogin" style="display:none"></div>
<ul class="lgnSns">
<li>
<a href="javascript:loginWithNaver()">네이버 아이디로 로그인</a>
@ -103,20 +103,20 @@
{
clientId: "fvaj0CdI04awGMEhaICy", //개발자센터에 등록한 ClientID
callbackUrl: "http://www.ynicte.com/Account/Join",//개발자센터에 등록한 callback Url
isPopup: false, /* 팝업을 통한 연동처리 여부 */
isPopup: true, /* 팝업을 통한 연동처리 여부 */
loginButton: { color: "green", type: 3, height: 60 } /* 로그인 버튼의 타입을 지정 */
}
);
function loginWithKakao() {
Kakao.Auth.login({
success: function (authObj) {
alert(JSON.stringify(authObj))
},
fail: function (err) {
alert(JSON.stringify(err))
},
})
function loginWithKakao() {
Kakao.Auth.login({
success: function (authObj) {
alert(JSON.stringify(authObj))
},
fail: function (err) {
alert(JSON.stringify(err))
},
})
}
function loginWithNaver() {

View File

@ -5,6 +5,10 @@
var mainprivate = (menus.Where(w => w.refcode == "main.private").FirstOrDefault() ?? em);
var mainagree = (menus.Where(w => w.refcode == "main.agree").FirstOrDefault() ?? em);
}
<head>
<script type="text/javascript" src="/js/naveridlogin_js_sdk_2.0.0.js"></script>
<script type="text/javascript" src="/js/kakao.js"></script>
</head>
@if (ViewBag.JoinOK)
{
<ul class="jnStep">
@ -53,6 +57,8 @@ else
<li><input type="text" id="email" style="ime-mode:inactive" name="email" maxlength="50" placeholder="이메일"></li>
<li class="joinId">
<input type="text" id="userid" style="ime-mode:inactive" name="userid" placeholder="아이디" maxlength="50">
<input type="text" id="snsid" name="snsid" maxlength="50" style="display:none">
<a href="#" onclick="idcheck();">중복여부 체크</a>
</li>
<li>
@ -207,5 +213,51 @@ else
mobilechkview('MCHK');
}
}
/*(1) 네이버 Javscript 설정 정보 및 초기화*/
var naverLogin = new naver.LoginWithNaverId(
{
clientId: "fvaj0CdI04awGMEhaICy", //개발자센터에 등록한 ClientID
callbackUrl: "http://www.ynicte.com/Account/Join",//개발자센터에 등록한 callback Url
isPopup: false, /* 팝업을 통한 연동처리 여부 */
callbackHandle: true
/* callback 페이지가 분리되었을 경우에 callback 페이지에서는 callback처리를 해줄수 있도록 설정합니다. */
}
);
/* (2) 네이버 로그인 정보를 초기화하기 위하여 init을 호출 */
naverLogin.init();
/* (3) Callback의 처리. 정상적으로 Callback 처리가 완료될 경우 main page로 redirect(또는 Popup close) */
window.addEventListener('load', function () {
naverLogin.getLoginStatus(function (status) {
if (status) {
/* (4) 필수적으로 받아야하는 프로필 정보가 있다면 callback처리 시점에 체크 */
var email = naverLogin.user.getEmail();
var name = naverLogin.user.getName();
var uniqId = naverLogin.user.getId();
var profileImage = naverLogin.user.getProfileImage();
var birthday = naverLogin.user.getBirthday();
var age = naverLogin.user.getAge();
if (email == undefined || email == null) {
alert("이메일은 필수정보입니다. 정보제공을 동의해주세요.");
/* (4-1) 사용자 정보 재동의를 위하여 다시 네이버로그인 동의페이지로 이동함 */
naverLogin.reprompt();
return;
}
if (name == undefined || name == null) {
alert("이름은 필수정보입니다. 정보제공을 동의해주세요.");
naverLogin.reprompt();
return;
}
$("#username").val(name);
$("#email").val(email);
$("#snsid").val(uniqId);
$("#jointype").val(2); //0:일반회원가입,1:google,2:naver,3:kakao
} else {
console.log("callback 처리에 실패하였습니다.");
}
});
});
</script>
}

View File

@ -1,11 +1,60 @@

<head>
<script type="text/javascript" src="/js/naveridlogin_js_sdk_2.0.0.js"></script>
<script type="text/javascript" src="/js/kakao.js"></script>
</head>
<form id="mform" method="post">
<div class="jnSns">
<a href="#" onclick="javascript: $('#mform').attr('action', '/Account/JoinIdVeri').submit();">영남건설 기술 교육원 홈페이지 회원가입</a>
<div id="naverIdLogin" style="display:none"></div>
<ul class="lgnSns">
<li><a href="#">네이버 아이디로 로그인</a></li>
<li><a href="#">카카오톡 아이디로 로그인</a></li>
<li><a href="#">구글 아이디로 로그인</a></li>
<li>
<a href="javascript:loginWithNaver()">네이버 아이디로 회원가입</a>
</li>
<li>
<a href="javascript:loginWithKakao()">카카오 아이디로 회원가입</a>
</li>
<li><a href="#">구글 아이디로 회원가입</a></li>
</ul>
</div>
</form>
<script>
$(document).ready(function () {
snsInit();
});
var naverLogin = new naver.LoginWithNaverId(
{
clientId: "fvaj0CdI04awGMEhaICy", //개발자센터에 등록한 ClientID
callbackUrl: "http://www.ynicte.com/Account/Join",//개발자센터에 등록한 callback Url //회원가입 페이지로 이동시킨다
isPopup: false, /* 팝업을 통한 연동처리 여부 */
loginButton: { color: "green", type: 3, height: 60 } /* 로그인 버튼의 타입을 지정 */
}
);
function loginWithKakao() {
Kakao.Auth.login({
success: function (authObj) {
alert(JSON.stringify(authObj))
},
fail: function (err) {
alert(JSON.stringify(err))
},
})
}
function loginWithNaver() {
$("#naverIdLogin_loginButton > img").trigger("click");
}
function snsInit() {
/* 네이버 설정정보를 초기화하고 연동을 준비 */
naverLogin.init();
// 카카오 SDK를 초기화 합니다. 사용할 앱의 JavaScript 키를 설정해 주세요.
Kakao.init('f30a121bf140bf3d3dbf72012b7d713c');
// SDK 초기화 여부를 판단합니다.
console.log(Kakao.isInitialized());
}
</script>