카카오톡으로 그누보드 로그인할때 아이디 패스워드 입력창이ᆢ

카카오톡으로 그누보드 로그인할때 아이디 패스워드 입력창이ᆢ

QA

카카오톡으로 그누보드 로그인할때 아이디 패스워드 입력창이ᆢ

본문

카카오톡으로 그누보드 로그인할때 아이디 패스워드 입력창이ᆢ뜨는데 이거 안뜨고 바로 로그인되게 할순없나요?

이 질문에 댓글 쓰기 :

답변 2


// callback.php
require_once '../common.php';
// 카카오 API를 통해 받은 코드를 사용하여 액세스 토큰을 요청합니다.
$code = $_GET['code'];
$token_url = 'https://kauth.kakao.com/oauth/token';
$data = [
    'grant_type' => 'authorization_code',
    'client_id' => $client_id,
    'redirect_uri' => $redirect_uri,
    'code' => $code
];
$options = [
    'http' => [
        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query($data),
    ],
];
$context = stream_context_create($options);
$response = file_get_contents($token_url, false, $context);
$tokens = json_decode($response, true);
// 액세스 토큰을 사용하여 사용자 정보를 요청합니다.
$access_token = $tokens['access_token'];
$user_info_url = 'https://kapi.kakao.com/v2/user/me';
$options = [
    'http' => [
        'header' => "Authorization: Bearer " . $access_token,
        'method' => 'GET',
    ],
];
$context = stream_context_create($options);
$response = file_get_contents($user_info_url, false, $context);
$user_info = json_decode($response, true);
// 사용자 정보를 이용하여 회원가입 또는 로그인 처리
$kakao_id = $user_info['id'];
$nickname = $user_info['properties']['nickname'];
$email = $user_info['kakao_account']['email'];
// 회원 존재 여부 확인
$sql = "SELECT * FROM {$g5['member_table']} WHERE mb_id = '{$kakao_id}'";
$member = sql_fetch($sql);
if (!$member) {
    // 회원이 존재하지 않으면 자동 가입 처리
    $sql = "INSERT INTO {$g5['member_table']} (mb_id, mb_email, mb_nick, mb_password, mb_datetime, mb_ip)
            VALUES ('{$kakao_id}', '{$email}', '{$nickname}', PASSWORD('{$access_token}'), NOW(), '{$_SERVER['REMOTE_ADDR']}')";
    sql_query($sql);
}
// 로그인 처리
set_session('ss_mb_id', $kakao_id);
set_session('ss_mb_nick', $nickname);
// 로그인 후 메인 페이지로 리디렉션
goto_url(G5_URL);
 
 

 

회원가입 여부를 확인하고, 존재하지 않으면 자동으로 가입한 후 로그인 상태를 유지하도록 변경해봤습니다.. 이를 통해 카카오톡 로그인 시 아이디와 비밀번호 입력 없이 바로 로그인할 수 있습니다. 참고 해서 적용해보시기 바랍니다.

 

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

회원로그인

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