테스트 사이트 - 개발 중인 베타 버전입니다

휴대폰 본인인증 후 이름, 전화번호 값 리턴 채택완료

코잔 3년 전 조회 4,136

KCP PASS를 사용중입니다

 

휴대폰 본인인증 성공 후에 자동으로 register.form.skin.php 에
이름, 전화번호, 인증값을 뿌리고 싶습니다... 받아오는 방법이 있을까요?

 

지금 오류 부분이 회원가입 하려고 하면 
휴대폰 본인인증하잖아요?
휴대폰 본인인증을하면 본인인증이 완료되었습니다 하면서 이름하고 전화번호를 폼에 뿌려줘야 하는데...

본인인증은 완료되었다고 하는데 이름, 전화번호도 폼에 안뿌려줄 뿐만아니라 직접 입력하고 가입하려고 해도 본인인증 확인 후 하라고 되어있네요...

 

지금까지 분석해본건

</p>

<p><?php

                if($config['cf_cert_use']) {

                    if($config['cf_cert_ipin'])

                        echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL;

                    if($config['cf_cert_hp'])

                        echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL;</p>

<p>                    echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;

                }

                ?></p>

<p>

 

여기에 win_hp_cert 클릭시에 kcpcert_form으로 넘어가고 kcpcert_form에서는 또 kcpcert_result.php로 넘어가서

</p>

<p><script>

$(function() {

    var $opener;

    var is_mobile = false;

    

    if( ( navigator.userAgent.indexOf("Android") > - 1 || navigator.userAgent.indexOf("iPhone") > - 1 ) ) { // 스마트폰인 경우

        $opener = window.parent;

        is_mobile = true;

    } else {

        $opener = window.opener;

    }

   

    try{ 

        if(opener.origin == '[홈페이지주소]') {

            // up_hash 검증

            if( document.form_auth.up_hash.value != $opener.$("input[name=veri_up_hash]").val() ) {

                alert("up_hash 변조 위험있음");

            }

        

            // 인증정보

            $opener.$("input[name=cert_type]").val("<?php echo $cert_type; ?>");

            $opener.$("input[name=mb_name]").val("<?php echo $user_name; ?>").attr("readonly", true);

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

            $opener.$("input[name=mb_birth]").val("<?php echo $birth_day; ?>").attr("readonly", true);

            $opener.$("input[name=cert_no]").val("<?php echo $md5_cert_no; ?>");

        

            if(is_mobile) {

                $opener.$("#cert_info").css("display", "");

                $opener.$("#kcp_cert" ).css("display", "none");

            }

        

            alert("본인의 휴대폰번호로 확인 되었습니다.");

        } 

    } catch(e) {

        window.opener.postMessage({ type:'result', username: '<?php echo $user_name; ?>', birth: '<?php echo add_hyphen_date($birth_day); ?>', phone: '<?php echo $phone_no; ?>' }, '*');

        alert("본인의 휴대폰번호로 확인 되었습니다2.");

    }</p>

<p>    window.close();

});

</script></p>

<p>

이 부분에서 하는거 같은데...

 

어떻게 해야 할까요?

 


 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
e
3년 전

window.close(); 가 작동하면서 인증 창이 닫히고 인증 시도를 했던 부모 페이지로 인증 결과 값이 제대로 들어오는지부터 확인 해보셔야 합니다.

부모 페이지쪽 코드를 보시면 인증 결과 값을 받아서 폼에 입력해주는 코드가 아마 있을텐데, 그 부분을 좀 수정해서 값이 제대로 들어오는지 로그를 찍어서 보시고 어느쪽에 문제가 있는지부터 우선 체크해보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

코잔
3년 전

찾아보니까 try문 다음에 있는 if(opener.origin == '[주소]') 부분에서

http://... 이렇게 되어 있어서 그랬던거더라구요. 
try문 직전에 alert('opener.origin'); 찍어봤는데 https://... 이렇게 되어 있어서 혹시나 하는 마음에

if(opener.origin == '[주소]')에 https 넣어줬더니 해결되었네요

근데 이거 주소를 하드코딩하는 방법 외에는 없나요?
if(opener.origin == '[주소]') 에 주소를 지금 하드코딩 되어 있는데 저거를 <?php echo G5_URL  ?> 이런식으로 바꾸는건 힘들겠죠?

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

e
eaglehorn
3년 전
G5_URL를 정의하는 config.php 파일이 인클루드 된 상태면 아마 될겁니다
코잔
3년 전
감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인