اصفهان - گلپایگان - بخش مرکزی - شهر گلپایگان-محله پارک شهر-کوچه محبت-خیابان غدیر-پلاک 8771664345 - کد پستی:8771664345
03157481449   09130246374  @ 



چگونه با استفاده از api گوگل ورود و ثبت نام برای سایت خود بسازیم


چگونه با استفاده از api گوگل ورود و ثبت نام برای سایت خود بسازیم؟

در بسیاری از وب سایت ها دیدید که در صفحه ثبت نام آن ها دکمه ورود یا ثبت نام توسط گوگل موجود است

عمل این دکمه بدین صورت می باشد که با زدن آن ، کاربر به اکانت گوگل خود لاگین میکند و گوگل کل اطلاعات این اکانت را برای شما در آدرس بازگشتی که بهش دادید میفرستد و شما از ان برای تشخیص هویت و یا بدست آوردن اطلاعات استفاده میکنید

یکی از مزیت های این کار این است که اگر شخصی پسورد خود را گم کرده باشد با زدن این دکمه و ورود به اکانت گوگل خود (ایمیل ثبت نام خود) بصورت موقت وارد سایت شده و پسورد خود را عوض میکند .

 

خوب میریم سراغ آموزش ثبت نام

 

ابتدا گیت زیر که حاوی کلاس های مورد نیاز است را دریافت فرمایید.

دانلود گیت

 

حال بهhttps://console.developers.google.com/apis/libraryبروید برای ساخت api کد

در صفحه بالا رویCredentials  بزنید و بعد create Credentials و سپس OAuth client ID و بعد web application

در بخش name یک نام بر گزینید

در بخش Authorized redirect URIs شما میتونید چند آدرس برگشت بدید یعنی همون جایی که گوگل اطلاعات را برای شما میفرستد که در مثال ما من در http://localgost/gapi سایتمو درست کردم و میخوام در همین جا هم اطلاعاتو نشون بدم پس همینو میزارم .و سپس یک Client ID و یک Client secret میدهد که بعد نیاز داریم

 خوب حال با مثالی کار میکنیم زیرا ممکن است هر شخصی به نوعی ساختار سایت خود را داشته باشد و آدرس دهی و اینکلود ها برای همه فرق دارد

 

من تمام موارد بالا را که دانلود کردم در پوشه ای به نام google قرار دادم و کنار پوشه گوگل فایلی به نام index.php دارم

 

درون  فایل ایندکس .php

 

<?php
session_start(); //session start



require_once ('google/autoload.php');

$client_id = 'xxxxxxxxxxxxxxxxxx'; 
$client_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$redirect_uri = 'http://localhost/gapi/';

if (isset($_GET['logout'])) {
  unset($_SESSION['access_token']);
}

$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->addScope("email");
$client->addScope("profile");


$service = new Google_Service_Oauth2($client);



  
if (isset($_GET['code'])) {
  $client->authenticate($_GET['code']);
  $_SESSION['access_token'] = $client->getAccessToken();
  header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
  exit;
}


 ************************************************/
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
  $client->setAccessToken($_SESSION['access_token']);
} else {
  $authUrl = $client->createAuthUrl();
}


echo '<div style="margin:20px">';
if (isset($authUrl)){ 

	echo '<div align="center">';
	echo '<h3>Login with Google -- Demo</h3>';
	echo '<div>Please click login button to connect to Google.</div>';
	echo '<a class="login" href="' . $authUrl . '">ورود با گوگل</a>';
	echo '</div>';
	
} else {
	
	$user = $service->userinfo->get(); 
	

	
	print_r($user);

	
}
echo '</div>';


?>

 در کد های بالا در ابنتدا مقادیر client_id و client_secret mو redirect_uri را درست کنید

اگر همه چیز درست باشد با اول با زدن دکمه به اکانت گوگل هدایت میشید و گوگل شما را به همین صفحه می آورد و اطلاعات کاربر را نشان میدهد

در مورد هر بخش سوالی داشتید و نیاز بیشتری به کمک داشتید کامت قرار بدهید

 


1396/04/04 18:54:19     طراحی سایت    2737 بار    اشتراک در تلگرام    https://www.zhupin.ir/post/24

نظرات

دیدگاهی یافت نشد

کد امنیتی :

خلیج ..... ؟