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

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

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

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

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

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

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

회원로그인

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