카카오톡으로 그누보드 로그인할때 아이디 패스워드 입력창이ᆢ
본문
카카오톡으로 그누보드 로그인할때 아이디 패스워드 입력창이ᆢ뜨는데 이거 안뜨고 바로 로그인되게 할순없나요?
답변 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);
회원가입 여부를 확인하고, 존재하지 않으면 자동으로 가입한 후 로그인 상태를 유지하도록 변경해봤습니다.. 이를 통해 카카오톡 로그인 시 아이디와 비밀번호 입력 없이 바로 로그인할 수 있습니다. 참고 해서 적용해보시기 바랍니다.
!-->
아이디 비번이 카카오톡 로그인창이라면 인증을 위해 뜨는것이고요
그누보드 자체 로그인이라면 소스수정해서 가능한 부분입니다.
답변을 작성하시기 전에 로그인 해주세요.