This commit is contained in:
hyunho 2020-11-24 08:11:51 +00:00
parent 3657d943cc
commit 33ead7716d
5 changed files with 86 additions and 65 deletions

View File

@ -837,5 +837,10 @@ namespace NP.FO.Controllers
}
return View();
}
public ActionResult NaverCallback()
{
return View();
}
}
}

View File

@ -668,6 +668,7 @@
<Content Include="Views\Course\XpayREQ.cshtml" />
<Content Include="Views\Course\XpayReturnURL.cshtml" />
<Content Include="Views\My\Document.cshtml" />
<Content Include="Views\Account\NaverCallback.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />

View File

@ -32,7 +32,6 @@
</li>
<li><a href="#">구글 아이디로 로그인</a></li>
</ul>
<input type="button" value="sns로그아웃" onclick="snslogout()"/>
</div>
</form>
@ -103,7 +102,7 @@
var naverLogin = new naver.LoginWithNaverId(
{
clientId: "fvaj0CdI04awGMEhaICy", //개발자센터에 등록한 ClientID
callbackUrl: "https://www.ynicte.com",//개발자센터에 등록한 callback Url
callbackUrl: "https://www.ynicte.com/Account/NaverCallback",//개발자센터에 등록한 callback Url
isPopup: false, /* 팝업을 통한 연동처리 여부 */
loginButton: { color: "green", type: 3, height: 60 }, /* 로그인 버튼의 타입을 지정 */
}
@ -123,7 +122,6 @@
function loginWithNaver() {
$("#naverIdLogin_loginButton > img").trigger("click");
}
function snsInit() {
// 카카오 SDK를 초기화 합니다. 사용할 앱의 JavaScript 키를 설정해 주세요.

View File

@ -0,0 +1,79 @@
@{
Layout = null;
}
<head>
<!-- SNS -->
@Html.Partial("./Partial/JS")
<script type="text/javascript" src="/js/naveridlogin_js_sdk_2.0.0.js"></script>
<script type="text/javascript" src="/js/kakao.js"></script>
</head>
<script>
/*(1) 네이버 Javscript 설정 정보 및 초기화*/
var snsid;
var naverLogin = new naver.LoginWithNaverId(
{
clientId: "fvaj0CdI04awGMEhaICy", //개발자센터에 등록한 ClientID
callbackUrl: "https://www.ynicte.com/Account/NaverCallback",//개발자센터에 등록한 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;
}
snsid = uniqId;
//0:일반회원가입,1:google,2:naver,3:kakao
capp("/focommon/CheckExistSnsId", { snsid: uniqId, jointype: 2 }, "snslogin");
} else {
console.log("callback 처리에 실패하였습니다.");
}
});
});
function snslogin() {
if (capResult.code > 0) {
capp("/focommon/SnsLogin", { uid: snsid, isSns: true }, "goHome()");
}
else {
if (confirm("SNS 회원정보가 존재하지 않습니다.\r\n회원가입 페이지로 이동하시겠습니까?")) {
goJoin();
}
else {
goIndex();
}
}
}
function goJoin() {
location.href = "https://www.ynicte.com/Account/JoinTSel";
}
function goHome() {
location.href = "https://www.ynicte.com";
}
function goIndex() {
location.href = "https://www.ynicte.com/Account/Index";
}
</script>

View File

@ -47,9 +47,6 @@
<script type="text/javascript" src="../js/placeholders.min.js"></script>
<script type="text/javascript" src="../js/slick.min.js"></script>
<!-- SNS -->
<script type="text/javascript" src="/js/naveridlogin_js_sdk_2.0.0.js"></script>
<script type="text/javascript" src="/js/kakao.js"></script>
</head>
@section main{
<form id="indexForm" method="post">
@ -322,65 +319,6 @@
$('#msSel5 > span').text("");
}
}
/*(1) 네이버 Javscript 설정 정보 및 초기화*/
var snsid;
var naverLogin = new naver.LoginWithNaverId(
{
clientId: "fvaj0CdI04awGMEhaICy", //개발자센터에 등록한 ClientID
callbackUrl: "https://www.ynicte.com",//개발자센터에 등록한 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;
}
snsid = uniqId;
//0:일반회원가입,1:google,2:naver,3:kakao
capp("/focommon/CheckExistSnsId", { snsid: uniqId, jointype: 2 }, "snslogin");
} else {
console.log("callback 처리에 실패하였습니다.");
}
});
});
function snslogin() {
if (capResult.code > 0) {
capp("/focommon/SnsLogin", { uid: snsid, isSns: true });
}
else {
confirmtoggle(true, "SNS 회원정보가 존재하지 않습니다.<br />회원가입 페이지로 이동하시겠습니까?", "goJoin()");
}
}
function goJoin() {
location.href = "/Account/JoinTSel"
}
</script>