웹뷰환경에서 본인인증시 문제가 있습니다.

웹뷰환경에서 본인인증시 문제가 있습니다.

QA

웹뷰환경에서 본인인증시 문제가 있습니다.

본문

안녕하세요

웹뷰에서 회원가입에 있는 휴대폰 본인인증하려고 하는데요 그냥 기본브라우저로 들어가서 인증하면 정상적으로 값이 잘 넘어오는데요. 안드로이드 웹뷰로 만든 apk파일에서는 값이 넘어오지가 않네요...

 

몇가지 시도를 해보고있는데어떻게 해야할까요?,,,

 
1. 본인인증 창을 iframe 을 이용하여 시도 ->실패. 이유: 결과값 리턴하는 hpcert2.php 에서 제대로 못넘김
 

2. callBrowser, callChrome 을 이용해서 새로운 외부 브라우저로 열려고 하는 방법이 있다는데 이건 어떻게 써야할지 모르겠네요..

 


3. hpcert2.php 에 리턴하는 곳에 $("input[name=name]", parent.document.body).val() 과 같이 해보았는데 안되네요. opener 문제로 웹뷰에서 값이 잘 전달되지 않는다고 하는데 참 어렵네요..

 


다음은 제가 수정한 코드입니다.

모바일로 접속하여 인증버튼 클릭시 iframe 이 작동되게 하였습니다.


----register_form.skin.php--------
 <div> 
 <iframe id="hp1" src="/plugin/okname/hpcert1.php" frameborder="yes" style="position:absolute;top:0%;left:0%;visibility:hidden;z-index: 10;" height="90%" width="100%"></iframe>
              </div>

<script>
 $("#win_hp_cert").click(function() {
            if(!cert_confirm())
                return false;
            
            var hp1 = document.getElementById("hp1");
            var hp2 = document.all.hp1.style.visibility = 'visible';
            <?php
            switch($config['cf_cert_hp']) { 
                case 'kcb':
                if(preg_match("/".G5_MOBILE_AGENT."/i", $_SERVER['HTTP_USER_AGENT'])) {
                     echo "hp2";
                    break;
                }else {
                    $cert_url = G5_OKNAME_URL.'/hpcert1.php';
                    $cert_type = 'kcb-hp';
                    break;   
                }  
</script>
-------------------------------------
-------------------------hpcert2.php----------
<script>
    $(function() {
        if(preg_match("/".G5_MOBILE_AGENT."/i", $_SERVER['HTTP_USER_AGENT'])) {
            
        $("input[name=mb_hp]", parent.document.body).val("<?php echo $phone_no; ?>").attr("readonly", true);
            
        }else{
            
         var $opener = window.opener;

        $opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");
        $opener.$("input[name=mb_name]").val("<?php echo $mb_name; ?>").attr("readonly", true);
        $opener.$("input[name=mb_hp]").val("<?php echo $phone_no; ?>").attr("readonly", true);
        $opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");

        alert("본인의 휴대폰번호로 확인 되었습니다.");
        window.close();   
        }
    });
</script>

 

끝까지 읽어주셔서 감사합니다~(__)
 

 

이 질문에 댓글 쓰기 :

답변 1

웹뷰 깨작거려본 경험으로 말씀드리자면

새창으로 뜨는 부모 자식끼리는 데이터가 안넘어가서 레이어와 아이프래임으로 짰었던 기억이 납니다.

소스상에서 자바스크림트 허용인지 확인해보시고 레이어방식으로 구현하시면 가능할것으로 보입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 1,178
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT