Skip to main content

Login dengan akun Google di Codeigniter (CI) part 2

Berikutnya kita akan menggunakan CI versi 2, kenapa saya masih menggunakan versi 2. karena saya menggunakan ubuntu server sebagai server saya. kalau yg pakai windows bisa menggunakan CI 3. yang saya gunakanpun CI 2 yg sudah HMVC, karena lebih mudah jika akan di adakan pengembangan lebih lanjut.

Berikut bahan2 yang di butuhkan untuk membuat CI bisa login dengan Google.

  1. Codeigniter 2 HMVC
  2. Library API Google
  3. Client ID dan secret ID dari API Google+
  4. Webserver (untuk tutorial ini saya menggunakan XAMPP di windows 8)
Jika sudah tersedia semua. pastikan ada makanan ringan dan kopi untuk menemani kita membuat koding. hehe..

pertama kita membuat file controller beri nama auth_login.php dan berikut scriptnya

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Auth_login extends CI_Controller

{

    function __construct() {

  parent::__construct();

  // Load user model disini

  $this->load->model('m_user');

    }

   

    public function index(){  

  // Include libraries google api php

  include_once APPPATH."libraries/google-api-php-client/Google_Client.php";

  include_once APPPATH."libraries/google-api-php-client/contrib/Google_Oauth2Service.php";

  

  // Disini di inputkan Google Project API Credentials

  $clientId = 'Masukan Google Client ID'; //client id ditulis disini

        $clientSecret = 'Masukan Google Client secret'; //client secret ditulis disini

        $redirectUrl = base_url() . 'a/';

  

  // Konfigurasi Google Client

        $gClient = new Google_Client();

        $gClient->setApplicationName('Login ke Aplikasi');

        $gClient->setClientId($clientId);

        $gClient->setClientSecret($clientSecret);

        $gClient->setRedirectUri($redirectUrl);

        $google_oauthV2 = new Google_Oauth2Service($gClient);



        if (isset($_REQUEST['code'])) {

            $gClient->authenticate();

            $this->session->set_userdata('token', $gClient->getAccessToken());

            redirect($redirectUrl);

        }



        $token = $this->session->userdata('token');

        if (!empty($token)) {

            $gClient->setAccessToken($token);

        }



        if ($gClient->getAccessToken()) {

            $userProfile = $google_oauthV2->userinfo->get();

            // database di masukan disini

   $userData['oauth_provider'] = 'google';

   $userData['oauth_uid'] = $userProfile['id'];

            $userData['first_name'] = $userProfile['given_name'];

            $userData['last_name'] = $userProfile['family_name'];

            $userData['email'] = $userProfile['email'];

   $userData['gender'] = $userProfile['gender'];

   $userData['locale'] = $userProfile['locale'];

            $userData['profile_url'] = $userProfile['link'];

            $userData['picture_url'] = $userProfile['picture'];

   // Insert atau update user data

            $userID = $this->user->checkUser($userData);

            if(!empty($userID)){

                $data['userData'] = $userData;

                $this->session->set_userdata('userData',$userData);

            } else {

               $data['userData'] = array();

            }

        } else {

            $data['authUrl'] = $gClient->createAuthUrl();

        }

  $this->load->view('auth_login/index',$data);

    }

 //untuk logout

 public function logout() {

  $this->session->unset_userdata('token');

  $this->session->unset_userdata('userData');

        $this->session->sess_destroy();

  redirect('/auth_login');

    }
}






Comments

Popular posts from this blog

Menghilangkan index.php di url codeigniter dengan httacces

Default dari url browser CI adalah www.webkita.com/index.php/welcome supaya bisa lebih enak di lihat mendjadi www.webkita.com/welcome maka kita perlu file httaacess buat file httaccess dengan notepad tanpa extensi apapun, isinya adalah sebagai berikut # request to index.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC] RewriteRule .* - [F,L] simpan file tersebut, kemudian edit file config.php di application/config/config.php ubah baris $config['index_page'] = 'index.php'; menjadi $config['index_page'] = ''; kemudian edit file autoload.php di application/config/autoload.php ubah baris  $autoload['helper'] = array('');  menjadi $autoload['helper'] = array('url'); coba akses CI tanpa index.php maka web anda sudah bisa di akses, dan bisa di optima...

Login dengan akun Google di Codeigniter (CI)

Beberapa web sekarang kebanyakan sudah di integrasikan untuk login menggunakan akun Google, di tutorial kali ini, kita akan membuat login dengan akun google di codeigniter. kita akan menggunakan salah satu API dari google untuk membuat aplikasi login di codeigniter. sebelum memulainya, berikut struktur dari folder CI yang di gunakan. Application -Controller --auth_login.php -libraries --google-api-php-client -models --M_user.php -Views --auth_user_login ---v_login.php API yang di butuhkan adalah Google OAuth API, kita akan menggunakan Client ID dan Client Secret yang di dapat dari API Credential di Google. tahapannya adalah kita membuat Project API Membuat Project API Google Untuk membuat Project API kita harus mempunyai akun google terlebih dahulu, loginlah dengan akun google anda. kemudian akses  https://console.developers.google.com/ . Pilih project yang sudah ada jika sebelumnya pernah membuat, atau buat project baru Di kolom Project ...