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

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

주니1 1년 전 조회 1,043

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

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

답변 2개

채택된 답변
+20 포인트
복스리
1년 전

</p>

<p>// callback.php

require_once '../common.php';</p>

<p>// 카카오 API를 통해 받은 코드를 사용하여 액세스 토큰을 요청합니다.

$code = $_GET['code'];

$token_url = '<a href="https://kauth.kakao.com/oauth/token';" target="_blank" rel="noopener noreferrer">https://kauth.kakao.com/oauth/token';</a>

$data = [

    'grant_type' => 'authorization_code',

    'client_id' => $client_id,

    'redirect_uri' => $redirect_uri,

    'code' => $code

];</p>

<p>$options = [

    'http' => [

        'header' => "Content-type: application/x-www-form-urlencoded\r\n",

        'method' => 'POST',

        'content' => http_build_query($data),

    ],

];</p>

<p>$context = stream_context_create($options);

$response = file_get_contents($token_url, false, $context);

$tokens = json_decode($response, true);</p>

<p>// 액세스 토큰을 사용하여 사용자 정보를 요청합니다.

$access_token = $tokens['access_token'];

$user_info_url = '<a href="https://kapi.kakao.com/v2/user/me';" target="_blank" rel="noopener noreferrer">https://kapi.kakao.com/v2/user/me';</a>

$options = [

    'http' => [

        'header' => "Authorization: Bearer " . $access_token,

        'method' => 'GET',

    ],

];</p>

<p>$context = stream_context_create($options);

$response = file_get_contents($user_info_url, false, $context);

$user_info = json_decode($response, true);</p>

<p>// 사용자 정보를 이용하여 회원가입 또는 로그인 처리

$kakao_id = $user_info['id'];

$nickname = $user_info['properties']['nickname'];

$email = $user_info['kakao_account']['email'];</p>

<p>// 회원 존재 여부 확인

$sql = "SELECT * FROM {$g5['member_table']} WHERE mb_id = '{$kakao_id}'";

$member = sql_fetch($sql);</p>

<p>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);

}</p>

<p>// 로그인 처리

set_session('ss_mb_id', $kakao_id);

set_session('ss_mb_nick', $nickname);</p>

<p>// 로그인 후 메인 페이지로 리디렉션

goto_url(G5_URL);

 </p>

<p>
 

 

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

 

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

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

플라이
1년 전

아이디 비번이 카카오톡 로그인창이라면 인증을 위해 뜨는것이고요

 

그누보드 자체 로그인이라면 소스수정해서 가능한 부분입니다.

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

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

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

로그인