ĐĂNG TIN
logo
Online:
Visits:
Stories:
Profile image
Nguồn: sauhi.com
Trang tin cá nhân | Bài đã đăng
Lượt xem

Hiện tại:
1h trước:
24h trước:
Tổng số:
Tạo nút đăng nhập với Google
Thursday, October 3, 2013 17:54
% of readers think this story is Fact. Add your two cents.


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.

Demo

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é.

Download

Tin nổi bật trong ngày
Tin mới nhất

Register

Newsletter

Email this story

If you really want to ban this commenter, please write down the reason:

If you really want to disable all recommended stories, click on OK button. After that, you will be redirect to your options page.