회원가입 방식이 SNS인지 직접 가입인지 알 수 있는 방법이 있나요?

회원가입 방식이 SNS인지 직접 가입인지 알 수 있는 방법이 있나요?

QA

회원가입 방식이 SNS인지 직접 가입인지 알 수 있는 방법이 있나요?

본문

제목 그대로입니다.

 

이게 필요해져서 찾고 있는데 쉽지 않네요^^

 

SNS 소셜로 가입한 회원인지 사이트에서 회원가입 버튼 눌러 직접 가입한 사람인지

알 수 있는 방법이 있을까요?

 

SNS로 가입한 경우 회원 탈퇴시 비번을 묻고 있어서 이걸 이메일로 탈퇴 URL이나 인증 번호를 보내서

처리하려고 하고 있는데 구분할 수 있는 변수가 있는지 궁금하네요..

 

SQL DB를 봐도 딱히 없는거 같기도 하고 ..

이 질문에 댓글 쓰기 :

답변 2

https://github.com/gnuboard/gnuboard5/blob/master/plugin/social/register_member_update.php#L197


    //소셜 로그인 계정 추가
    if( function_exists('social_login_success_after') ){
        social_login_success_after($mb, '', 'register');
    }

 

https://github.com/gnuboard/gnuboard5/blob/master/plugin/social/includes/functions.php#L822


//소셜 로그인 후 계정 업데이트
function social_login_success_after($mb, $link='', $mode='', $tmp_create_info=array()){
    global $g5, $config;
    ...
    social_user_profile_replace($mb_id, $provider, $user_profile);
    ...
    return $link;
}

 

https://github.com/gnuboard/gnuboard5/blob/master/plugin/social/includes/functions.php#L206


function social_user_profile_replace( $mb_id, $provider, $profile ){
    ...
        'mp_register_day' => ! empty($row) ? "'".$row['mp_register_day']."'" : "'". G5_TIME_YMDHIS . "'",
    ...
}

 

다음 두 항목을 비교해보면 되지 않을까 싶습니다.

$g5['member_table'] 의 mb_datetime

$g5['social_profile_table'] 의 mp_register_day

 


/*
SELECT 
    COUNT(1) cnt 
FROM 
    g5_member gm INNER JOIN g5_member_social_profiles gmsp 
    ON gmsp.mb_id = gm.mb_id 
WHERE 
        gm.mb_id = 'member-id' 
    AND UNIX_TIMESTAMP(gmsp.mp_register_day) - UNIX_TIMESTAMP(gm.mb_datetime) BETWEEN 0 AND 5
;
*/
function get_member_join_from_sns($mb_id, $seconds_margin = 5) {
    $query = "SELECT ... WHERE gm.mb_id = '{$mb_id}' ... BETWEEN 0 AND {$seconds_margin}"
    $row = sql_fetch($query);
    if ($row['cnt'] == 1) {
        return true;
    } else {
        return false;
    }
}

참고하세요.

https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=348

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

회원로그인

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