모바일 웹 → iOS/Android 앱으로 SSO 처리

1. 모바일 웹 구조

 – 실제 소스는 js에 있고, jsp에서 파일 include 및 <div>로 wrapper 역할을 함

2. SSO 인증방식

 – 일자+시간+사번을 inputString으로 SHA256으로 Message Digest 처리

3. SHA256 JavaScript 파일

cfile28.uf.2132A350579AE79D302754.js

 – 위 파일을 적당한 위치에 업로드함

4. JSP페이지에 해당 js파일 include

 – <script src=”<%=webPath %>/js/sha256.js”></script>

5. js페이지에서 sha256.hash()함수 수행

 – var sha_output = this.Sha256.hash(sha_input);

6. Android 및 iOS 모바일 앱 체크 예제

[#M_더보기|접기|

if(currentOS == “android” || currentOS == “chrome”) {

// Android – Scheme : hunetmlc, Package : cn.com.HunetChina, hunetmlc://?cSeq=9087&userId=test-862DB179D47BC206D6F5513B44F3EFE1E37E04F97B37998CAF75B84F839FA2D6

var url = ‘hunetmlc://?cSeq=9087&userId=’+__gUserId+’-‘+sha_output.toUpperCase();

setTimeout(

          function() {

             if ((new Date()).getTime() – visitedAt < 2000) {

                location.href = market_a ;

             }

          }, 1000);

var iframe = document.createElement(‘iframe’);

         iframe.style.visibility = ‘hidden’;

         iframe.src = url;

         

         document.body.appendChild(iframe);

         document.body.removeChild(iframe); // back 호출시 캐싱될 수 있으므로 제거

         

} else if(currentOS == “ios”) {

// iOS – Scheme : tcenter, tcenter://?etc1=9087&etc2=sso&etc3=test-862DB179D47BC206D6F5513B44F3EFE1E37E04F97B37998CAF75B84F839FA2D6

var url = ‘tcenter://?etc1=9087&etc2=sso&etc3=’+__gUserId+’-‘+sha_output.toUpperCase();

setTimeout(

function() {

if ((new Date()).getTime() – visitedAt < 2000) {

location.href = market_i;

}

}, 1000 );

   location.href = url;

} else {

alert(“안드로이드와 아이폰에서만 사용 가능”);

}

_M#]

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments