1. Giải thuật sắp xếp số tăng dần-tìm số lớn nhất-xóa phần tử trùng nhau trong PHP
  2. Hướng dẫn kết nối Mysql trong Nodejs
  3. Hướng dẫn tạo Captcha
  4. Hướng dẫn tạo Form Hổ trợ trực tuyến phần 1
  5. Hướng dẫn tạo Form đăng ký thành viên
  6. Hướng dẫn tạo Form đăng nhập hệ thống kết hợp với CSDL
  7. Insert,Update,Delete bằng hướng đối tượng php (phần 1)
  8. insert-update-delete Mysql bằng Nodejs
  9. Register Angularjs and Php
  10. Login remember me Angularjs and Php
  11. Login Remember bằng Php
  12. Tìm kiếm phần tử trong mảng bằng PHP
  13. Tạo giỏ hàng theo mô hình MVC
  14. Login Google using PHP

Login Google using PHP

min read
Tags: PHP

Bây giờ việc login mạng xã hội đối với nhu cầu website rất cần thiết, giúp cho người dùng đăng nhập và đăng ký một cách nhanh và hiệu quả, ta cũng thấy rằng các website khác có các chức năng như: Login Google hoặc Facebook,Twitter,...login khác nhiều mạng xã hội

Nay mình chia sẻ mọi người cách Login Google như sau, đầu tiên ta cũng cần cài đặt trên Google API Console, để có được (client ID,client secret)

Sau khi ta có được Client ID và Client secret ta copy nó và lưu lại để hồi khai báo trong login google.

Tiếp tục bạn cần tải bộ thư viện google cung cấp cho ta về có 2 cách để làm điều này, bạn dùng cách nào cũng được!

Cách 1: $ composer require google/apiclient:"^2.0"

Cách 2: https://github.com/googleapis/google-api-php-client/releases

Khi bạn tải thư viện về, bạn giải nén vào project bạn cần dùng là được!

Tạo file define.php in project 

<?php
    //set define login google
    define('GOOGLE_APP_ID','8330207686-ih6vo9kvhqqfnr.apps.googleusercontent.com');
    define('GOOGLE_APP_SECRET','vHI3K4N5obLHgz');
    define('GOOGLE_APP_CALLBACK_URL','http://localhost/LoginGoogle/redirect-google.php');
    define('LOCALHOST','localhost');
    define('USERNAME','root');
    define('PASSWORD','');
    define('DATABASE','ABC');
?>

Ở bên trên mình cài đặt file define.php để giúp chúng ta thuận lợi khi gọi chúng, bạn copy các Client ID và Clien Secret vào file define.php 

Tạo file redirect-google.php trong project của ta như sau:

<?php
    require_once('define.php');

    /**
     * SET CONNECT 
     */
    $conn = mysqli_connect(LOCALHOST,USERNAME,PASSWORD,DATABASE);
    if (!$conn) {
        echo "Error: Unable to connect to MySQL." . PHP_EOL;
        echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
        echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
        exit;
    }
    

    /**
     * CALL GOOGLE API
     */
    require_once 'google-api-php-client-2.4.0/vendor/autoload.php';
    $client = new Google_Client();
    $client->setClientId(GOOGLE_APP_ID);
    $client->setClientSecret(GOOGLE_APP_SECRET);
    $client->setRedirectUri(GOOGLE_APP_CALLBACK_URL);
    $client->addScope("email");
    $client->addScope("profile");
   
    if (isset($_GET['code'])) {
        $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
       // print_r($token);
        $client->setAccessToken($token['access_token']);

        // get profile info
        $google_oauth = new Google_Service_Oauth2($client);
        $google_account_info = $google_oauth->userinfo->get();
        $email =  $google_account_info->email;
        $name =  $google_account_info->name;
       // print_r($google_account_info);
       /**
        * CHECK EMAIL AND NAME IN DATABASE
        */
        $check = "SELECT * FROM `users` WHERE `email`='".$email."' and `name`='".$name."'";
        $result = mysqli_query($conn,$sql);
        $rowcount=mysqli_num_rows($result);
        if($rowcount>0){
            /**
             * USER EXITS
             */
            header('location:home');
        }
        else{
            /**
             * INSERT USER TO DATABASE
             * AFTER INSERT, YOU CAN HEADER TO HOME
             */

        }
       
    } else {
        /**
         * IF YOU DON'T LOGIN GOOGLE
         * YOU CAN SEEN AGAIN GOOGLE_APP_ID, GOOGLE_APP_SECRET, GOOGLE_APP_CALLBACK_URL
         */
        echo "<a href='".$client->createAuthUrl()."'>Google Login</a>";
    }

 

Vậy là xong, giờ ta có thể test thử xem coi nó chạy sao, bạn chỉ cần gõ http://localhost/LoginGoogle/redirect-google.php là được

Các bạn nếu gặp lỗi thì xem lại phần Client ID và Client Secret, Link Callback đúng chưa nghe! Chúc các bạn thành công!

Tags: PHP
x

Ủng hộ tôi bằng cách click vào quảng cáo. Để tôi có kinh phí tiếp tục phát triển Website!(Support me by clicking on the ad. Let me have the money to continue developing the Website!)