Nếu bạn muốn tích hợp hệ thống tài khoản của Google vào website của bạn thì bạn cũng có thể làm được điều này. Nếu bạn sử dụng chức năng đăng nhập cho các tài khoản trên trang web khác như Google, Yahoo, Facebook… thì bạn khỏi phải bỏ thời gian ra suy nghĩ tới bảng user trong cơ sở dữ liệu (CSDL) của bạn. Bạn không lo đến vấn đề bảo mật cho tài khoản trên trang web của bạn.
Đầu tiên để làm được việc này thì bạn phải tạo tài khoản của Google, và sử dụng Google API theo địa chỉ sau:
https://code.google.com/apis/console
Sau khi tạo xong một Project thì bạn vào menu API Access để tạo một client ID. Bạn cứ điền vào đường dẫn của trang web mà bạn muốn Google chuyển đến sau khi đăng nhập thành công hoặc thất bại.
Sử dụng code sau, bạn cấu hình lại các thông số cho phù hợp với tài khoản của bạn.
setApplicationName('Đăng nhập bằng tài khoản Google'); $gClient->setClientId($google_client_id); $gClient->setClientSecret($google_client_secret); $gClient->setRedirectUri($google_redirect_url); $gClient->setDeveloperKey($google_developer_key); $google_oauthV2 = new Google_Oauth2Service($gClient); if (isset($_REQUEST['reset'])) { unset($_SESSION['token']); $gClient->revokeToken(); header('Location: ' . filter_var($google_redirect_url, FILTER_SANITIZE_URL)); } if (isset($_GET['code'])) { $gClient->authenticate($_GET['code']); $_SESSION['token'] = $gClient->getAccessToken(); header('Location: ' . filter_var($google_redirect_url, FILTER_SANITIZE_URL)); return; } if (isset($_SESSION['token'])) { $gClient->setAccessToken($_SESSION['token']); } if ($gClient->getAccessToken()) { $user = $google_oauthV2->userinfo->get(); $user_id = $user['id']; $user_name = filter_var($user['name'], FILTER_SANITIZE_SPECIAL_CHARS); $email = filter_var($user['email'], FILTER_SANITIZE_EMAIL); $profile_url = filter_var($user['link'], FILTER_VALIDATE_URL); $profile_image_url = filter_var($user['picture'], FILTER_VALIDATE_URL); $personMarkup = "$email"; $_SESSION['token'] = $gClient->getAccessToken(); } else { $authUrl = $gClient->createAuthUrl(); } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo 'Đăng nhập với Google
'; if(isset($authUrl)) { echo ''; } else { if($profile_image_url) { echo '
'; } echo '
Thoát'; echo ''; print_r($user); echo ''; } echo ''; ?>
Đương nhiên là bạn cũng cần phải có thư viện của Google để có thể sử dụng nó. Hãy tải thư viện mới nhất được cung cấp từ Google theo địa chỉ: http://code.google.com/p/google-api-php-client/downloads/list
Và đây là code mình đã làm sẵn, bạn hãy tải về để tham khảo nhé.
2013-10-03 16:52:03
Nguồn: http://sauhi.com/2013/10/tao-nut-dang-nhap-voi-google.html