1var _domainPath = ""; 2var _host = ""; 3 4/** 5 * SSO í¨ì í¸ì¶ ì ì´ê¸°í ì²ë¦¬ 6 * 7 * @date 2018.11.15 8 * @author kim 9 * @example gfnSsoInit() 10 */ 11function gfnSsoInit() { 12 13 var getRequestURL = location.href ; 14 _host = location.host; 15 _domainPath = getRequestURL.substring(0, getRequestURL.indexOf(_host))+_host ; 16} 17 18 19//í í° ë°ê¸ ìì² : mcustNo(íµí©ê³ ê°ë²í¸), ssoAuthCd(ê¶íì½ë) 20function gfnReqSSoToknIssuAjax(mcustNo, ssoAuthCd, callback) 21{ 22 console.log("[HPOINT_SSO] issueSsoJti request", {hasMcustNo:!!mcustNo}); 23 $.ajax({ 24 type:"POST", url:"/mbr/issueSsoJtiAjax", data:{"mcustNo":mcustNo}, 25 dataType:"JSON", cache:false, async:false, 26 success:function(data){ 27 console.log("[HPOINT_SSO] issueSsoJti response", {succYn:data && data.succYn, hasJti:!!(data && data.jti), hasEncToknVal:!!(data && data.encToknVal)}); 28 if(callback && typeof callback == "function") callback(data); 29 }, 30 error:function(){ if(callback && typeof callback == "function") callback({succYn:"N"}); } 31 }); 32} 33 34//ë¡ê·¸ì¸ ëí 35function mcustActingAjax(mcustNo, callback, mcustActingYn) 36{ 37 gfnSsoInit(); 38 39 data = {"succYn":"Y"}; 40 var ssoMcustNo = mcustNo; 41 42 if(callback && typeof callback == "function" && mcustActingYn == "Y"){ 43 callback(data, ssoMcustNo); 44 } 45} 46 47// í í° ë§ë£ìì² 48function gfnSsoDscdToknReqAjax(callback){ 49 50 gfnSsoInit(); 51 52 var httpUrl = ""; 53 54 // ëë©ì¸ ë¶ê¸°ì²ë¦¬ 55 if( _host.indexOf("dev.williams-sonoma.co.kr") > -1 56 || _host.indexOf("dev.potterybarn.co.kr") > -1 57 || _host.indexOf("dev.potterybarnkids.co.kr") > -1 58 || _host.indexOf("dev.westelm.co.kr") > -1 59 ){ 60 httpUrl = "https://ssodev.h-point.co.kr:29865/co/setDscdToknJSONP.hd"; 61 }else{ 62 httpUrl = "https://sso.h-point.co.kr:29865/co/setDscdToknJSONP.hd"; 63 } 64 65 $.ajax({ 66 type:"GET", 67 url:httpUrl, 68 data:{"domainPath":_domainPath,"dmnAdr":_host, "callback":callback.name}, 69 crossDomain:true, 70 cache:false, 71 async:false, 72 dataType:"jsonp", 73 jsonp:callback.name, 74 xhrFields: { 75 withCredentials : true 76 }, 77 complete : function(data) { 78 if(callback && typeof callback == "function"){ 79 callback(data); 80 } 81 } 82 }); 83 84} 85 86//SSO ìì²í sso ì¸ì¦ ì±ê³µì ê³ ê°ë²í¸ ë¦¬í´ 87function gfnSsoReqAjax(callback) 88{ 89 gfnSsoInit(); 90 var httpUrl = _host.indexOf("dev.") > -1 91 ? "https://ssodev.h-point.co.kr:29865/co/setSsoReqJSONP.hd" 92 : "https://sso.h-point.co.kr:29865/co/setSsoReqJSONP.hd"; 93 94 95 $.ajax({ 96 type:"GET", 97 url:httpUrl, 98 data: {"domainPath":_domainPath, "dmnAdr":_host, "callback":callback.name, 99 "token":"", "ptcoChId":window.hpointSsoPtcoChId || "", "ptcoId":window.hpointSsoPtcoId || ""}, 100 crossDomain:true, 101 cache:false, 102 async:false, 103 dataType:"jsonp", 104 jsonp:callback.name, 105 xhrFields: { 106 withCredentials : true 107 }, 108 success : function(data) { 109 console.log("[HPOINT_SSO] H.Point JTI response", {succYn:data && data.succYn, hasJti:!!(data && data.jti)}); 110 if(callback && typeof callback == "function"){ 111 callback(data); 112 } 113 } 114 }); 115 116} 117 118// JTI ê²ì¦ í ìì¬ íì ì¸ì ìì± 119// ìì¬ ë¡ê·¸ì¸ ìë£ í H.Point í í° ì¿ í¤ ë°ê¸ URLì ë°ìì¨ë¤. 120function fnIssueHpointSsoCookie(jti, redirectUrl) { 121 if (!jti) return false; 122 // ë°ê¸ API ìëµì encToknValì ìë² ì¸ì ì ë³´ê´ëì´ ìë¤. 123 // ë¸ë¼ì°ì AJAXë¡ URLì ë°ì ë¤ì ì´ëíì§ ìê³ ìë² POST redirectë¡ H.Point ì¿ í¤ë¥¼ ë°ê¸íë¤. 124 var $form = $('<form method="post" action="/mbr/issueHpointSsoCookie"></form>'); 125 $form.append($('<input type="hidden" name="jti">').val(jti)); 126 $form.append($('<input type="hidden" name="redirectUrl">').val(redirectUrl || "/index")); 127 console.log("[HPOINT_SSO] submitting token-cookie issue redirect", {hasJti:!!jti, targetUrl:redirectUrl || "/index"}); 128 $form.appendTo('body').submit(); 129 return true; 130} 131 132// ì¼ë° H.Point ë¡ê·¸ì¸ ì±ê³µ ììë JTI ë°ê¸ endpointê° ì§ì H.Point ì¿ í¤ ë°ê¸ URLë¡ redirectíë¤. 133function fnIssueSsoJtiRedirect(mcustNo, returnUrl) { 134 var $form = $('<form method="post" action="/mbr/issueSsoJti"></form>'); 135 $form.append($('<input type="hidden" name="mcustNo">').val(mcustNo)); 136 $form.append($('<input type="hidden" name="returnUrl">').val(returnUrl || location.pathname + location.search)); 137 console.log("[HPOINT_SSO] submitting JTI issuance redirect", {hasMcustNo:!!mcustNo}); 138 $form.appendTo('body').submit(); 139} 140 141function fnLoginByJti(jti, returnUrl, loginHpYn) { 142 if (!jti && !loginHpYn) return false; 143 var loginResult = false; 144 var requestData = {"loginHpYn":loginHpYn || "Y"}; 145 if (jti) requestData.jti = jti; 146 console.log("[HPOINT_SSO] selectUserLoginInfo request", {hasJti:!!jti}); 147 $.ajax({
148 type:"POST", url:"/mbr/selectUserLoginInfo", 149 data:requestData, 150 dataType:"JSON", cache:false, async:false, 151 success:function(data){ 152 console.log("[HPOINT_SSO] selectUserLoginInfo response", {code:data && data.response && data.response.code}); 153 var response = data && data.response; 154 if (response && (response.code === "0000" || response.code === "00")) { 155 loginResult = true; 156 var targetUrl = returnUrl || "/index"; 157 // ì¸ë¶ìì ì ë¬ë JTIë ì¬ê¸°ì ì´ë¯¸ ê²ì¦Â·ìë¹ëìë¤. 158 // ê°ì JTIë¡ ë¤ì H.Point ì¿ í¤ ë°ê¸ì ìì²íì§ ìê³ ë¡ê·¸ì¸ ìë£ URLë¡ ì´ëíë¤. 159 console.log("[HPOINT_SSO] verified JTI login completed", {hasJti:!!jti, targetUrl:targetUrl}); 160 if (returnUrl) location.href = returnUrl; 161 else location.reload(); 162 } else { 163 alert("íµí©ë©¤ë²ì½ ë¡ê·¸ì¸ì ì¤í¨íììµëë¤."); 164 } 165 }, 166 error:function(){ alert("íµí©ë©¤ë²ì½ ë¡ê·¸ì¸ì ì¤í¨íììµëë¤."); } 167 }); 168 return loginResult; 169} 170 171// JTI를 ì¿ í¤ë¡ ì ë¬ë°ë H.Point redirect íë¦ ì§ì 172function fnLoginByJtiCookie(jti, returnUrl, loginHpYn) { 173 if (!jti) return false; 174 console.log("[HPOINT_SSO] setSsoJti request", {hasJti:true}); 175 var loginResult = false; 176 $.ajax({ 177 type:"POST", url:"/mbr/setSsoJti", data:{"jti":jti}, 178 dataType:"JSON", cache:false, async:false, 179 success:function(data){ 180 console.log("[HPOINT_SSO] setSsoJti response", {succYn:data && data.succYn}); 181 if (data && data.succYn === "Y") { 182 // ì¿ í¤ ì ì¥ê³¼ ëìì ìì² íë¼ë¯¸í°ìë ì ë¬í´ 첫 ìì²ë¶í° JTIê° ëë½ëì§ ìëë¡ íë¤. 183 loginResult = fnLoginByJti(jti, returnUrl, loginHpYn); 184 } 185 }, 186 error:function(){ loginResult = false; } 187 }); 188 return loginResult; 189}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.