본인인증 후 비밀번호 변경을 진행하려 합니다.

본인인증 후 비밀번호 변경을 진행하려 합니다.

QA

본인인증 후 비밀번호 변경을 진행하려 합니다.

본문

NHN KCP 본인인증 서비스를 사용하고 있습니다.

 

비밀번호 변경시 본인인증 후 사용자의 정보를 바탕으로 e-mail 로 비밀번호 변경 URL을 전달하려 합니다. 어떻게 하면 본인인증 서비스를 진행 후 페이지로 전달하는지 잘 모르겠습니다.

 

제가 생각한 흐름은

 

워드프레스 로그인페이지

=> 비밀번호 변경 클릭

=> 본인인증서비스 보이기

=> 인증 후 인증된 사용자의 정보(H.P, 이름, 생년월일)을 바탕으로 사용자 확인

=> 확인된 사용자에게 메일 보내기

 

위의 흐름입니다. 우선은 H.P, 이름, 생년월일을 입력하면 사용자 확인하여 메일 보내는 부분은 코딩해 두었습니다. 본인인증 부분이 막히는데 아래의 어느 부분을 어떻게 활용해야 할지가... 잘 이해가 안됩니다.

 

 

확인해보니 register_hook.skin.php 파일 부분의 38번째 줄에

 


if($config['cf_cert_use']) {    //본인확인을 사용한다면
    echo '<div class="gc_cert_box">'.PHP_EOL;
    if($config['cf_cert_ipin'])
        echo '<button type="button" id="win_ipin_cert" class="button btn_frmline">'.__('아이핀 본인확인', GC_NAME).'</button>'.PHP_EOL;
    if($config['cf_cert_hp'])
        echo '<button type="button" id="win_hp_cert" class="button btn_frmline">'.__('휴대폰 본인확인', GC_NAME).'</button>'.PHP_EOL;
 
    echo '<noscript>'.__('본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.', GC_NAME).'</noscript>'.PHP_EOL;
    echo '</div>'.PHP_EOL;
}
 
$member = gc_get_member(get_current_user_id());
$gc_first_name = ( ! empty( $_POST['gc_first_name'] ) ) ? trim( $_POST['gc_first_name'] ) : '';
$cert_no = isset($_POST['cert_no']) ? sanitize_text_field($_POST['cert_no']) : '';
 
echo '<input type="hidden" name="cert_type" value="'.$member['mb_certify'].'">';
echo '<input type="hidden" name="cert_no" value="'.$cert_no.'">';
echo '<input type="hidden" name="gc_first_name" value="'.esc_attr(wp_unslash($gc_first_name)).'">';
 
if ($config['cf_cert_use'] && $member['mb_certify']) {
    if($member['mb_certify'] == 'ipin')
        $mb_cert = __('아이핀', GC_NAME);
    else
        $mb_cert = __('휴대폰', GC_NAME);
 
    ?>
    <div id="msg_certify">
        <strong><?php echo $mb_cert;?> <?php _e('본인확인', GC_NAME); ?></strong><?php if ($member['mb_adult']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료
    </div>
    <?php
}

 

부분이 확인됩니다. 이 부분을 어떻게 수정하면 본인인증창을 타 페이지에서 띄울 수 있는것인가요?

이 질문에 댓글 쓰기 :

답변 2

워드프레스 로그인페이지

=> 비밀번호 변경 클릭

=> 확인된 사용자에게 메일 보내기

 

보통 이 정도의 과정으로도 충분하다고 생각되는데요.( 이메일을 보려면 해당 이메일 회사로 로그인해야 볼수 있으니까요... )

 

왜 위의 과정에서 본인확인이 필요한지 납득이 가지 않지만,

굳이 해야 한다면 아래 내용을 참고해 주세요.

 

그누커머스의 본인확인 과정을 설명한다면,

 

일단 본인 확인을 하면 session에 값이 저장됩니다.

 

gnucommerce/plug/kcpcert/kcpcert_result.php

 

의 파일을 보시면,

 

gc_set_session('ss_cert_dupinfo', $mb_dupinfo); 

 

이란 구문이 있는데요.

 

$mb_dupinfo 값은 DI 중복가입 확인값 으로 저장이 됩니다. ( 유니크 값 ) 

 

그래서 본인확인을 다 하게 되면

 

gnucommerce/lib/gc_member_page.php 파일에 보시면,

 

update_user_meta( $user_id, 'mb_dupinfo', gc_get_session('ss_cert_dupinfo') ); 

 

유저 메타 테이블에 mb_dupinfo 라는 메타키로 유니크한 값이 저장이 됩니다.

 

그래서 비밀번호 변경시 

본인확인을 하게 된다면,

 

유저 메타 테이블에서  mb_dupinfo 메타키의 본인확인 유니크 값을 select 한 다음에, 

user_id 가 있다면, 유저 테이블에서 user_id 로 이메일 정보를 select 해 와서,

그 해당 이메일로 메일을 보내시면 될것 같습니다.

 

 

 

 

 

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

회원로그인

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