新蒲京200.c软件下载-app官网网址 > 活动 >

对扩充你的PHP项目登记当然是很有援助的

正文叙述的是怎么着为你的PHP项目达成Google的Oauth系统。那么些示例PHP脚本一点也异常的快,对扩充你的PHP项目登记当然是很有救助的。

在这里前边,大家曾经覆盖了满含推特(Twitter卡塔尔(TWTPRADO.US卡塔尔国、Facebook(TWTCRUISER.US卡塔尔、谷歌plus以至推特(TWTHighlander.US卡塔尔国的Oauth登陆系统示范。很缺憾此前作者疏漏掉了Google的Oauth登陆系统。今天大家就来看一下什么为您的web项目落到实处谷歌的Oauth系统。

在这里前边,大家已经覆盖了含蓄推特(TWTR.US卡塔尔、推文(TweetState of Qatar、谷歌plus以致Facebook的Oauth登陆系统示范。很遗憾此前自身疏漏掉了Google的Oauth登陆系统。明天大家就来看一下什么样为您的web项目完成Google的Oauth系统。这几个示例脚本超快,对扩大你的web项目登记当然是很有帮带的。

图片 1

Google Oauth登陆系统开垦示范

数据库设计

数据库设计十分轻巧,如下所示:

CREATE TABLE users  
(  
id INT PRIMARY KEY AUTO_INCREMENT,  
email VARCHAR(50) UNIQUE,  
fullname VARCHAR(100),  
firstname VARCHAR(50),  
lastname VARCHAR(50),  
google_id VARCHAR(50),  
gender VARCHAR(10),  
dob VARCHAR(15),  
profile_image TEXT,  
gpluslink TEXT

1,域名注册

在这里注册可能加上你的域名。

图片 2

域名注册

2,全部权认证

证实您的域名全部权,能够经过HTML文件上传或满含META标识。

图片 3

全体权认证

3,OAuth Keys

谷歌(Google卡塔尔将提供你OAuth顾客密钥和OAuth秘密密钥。

图片 4

Oauth keys

4, Google API控制台

在Google API控制台创建客商端ID。

图片 5

Google API控制台

图片 6

Google API控制台

然后您就足以看到你的客商端ID和密钥。

图片 7

铺排好的Google Oauth音信

config.php

你可以在src文件夹找到那么些文件,在此边你供给配备使用程序OAuth密钥,Consumer keys和重定向回调UTucsonL。

// OAuth2 Settings, you can get these keys at https://code.google.com/apis/console Step 6 keys  
'oauth2_client_id' => 'App Client ID',  
'oauth2_client_secret' => 'App Client Secret',  
'oauth2_redirect_uri' => 'http://yoursite.com/gplus/index.php',  

// OAuth1 Settings Step 3  keys.  
'oauth_consumer_key' => 'OAuth Consumer Key',  
'oauth_consumer_secret' => 'OAuth Consumer Secret',

google_login.php

谷歌 plus登陆系统,你只要求在index.php中加载这么些文件。

<?php  
require_once 'src/apiClient.php';  
require_once 'src/contrib/apiOauth2Service.php';  
session_start();  
$client = new apiClient();  
setApplicationName("Google Account Login");  
$oauth2 = new apiOauth2Service($client);  
if (isset($_GET['code']))  
{  
$client->authenticate();  
$_SESSION['token'] = $client->getAccessToken();  
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];  
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));  
}  
if (isset($_SESSION['token'])) {  
$client->setAccessToken($_SESSION['token']);  
}  
if (isset($_REQUEST['logout'])) {  
unset($_SESSION['token']);  
unset($_SESSION['google_data']); //Google session data unset  
$client->revokeToken();  
}  
if ($client->getAccessToken())  
{  
$user = $oauth2->userinfo->get();  
$_SESSION['google_data']=$user; // Storing Google User Data in Session  
header("location: home.php");  
$_SESSION['token'] = $client->getAccessToken();  
} else {  
$authUrl = $client->createAuthUrl();  
}  
if(isset($personMarkup)):  
print $personMarkup;  
endif 
if(isset($authUrl))  
{  
echo "<a class="login" href="$authUrl">Google Account Login</a>";  
} else {  
echo "<a class="logout" href="?logout">Logout</a>";  
}  
?>

home.php

在这里间大家供给向后边创立的user表插入Google plus的session新闻。代码如下:

<?php  
session_start();  
include('db.php'); //Database Connection.  
if (!isset($_SESSION['google_data'])) {  
// Redirection to application home page.  
header("location: index.php");  
}  
else 
{  
//echo print_r($userdata);  
$userdata=$_SESSION['google_data'];  
$email =$userdata['email'];  
$googleid =$userdata['id'];  
$fullName =$userdata['name'];  
$firstName=$userdata['given_name'];  
$lastName=$userdata['family_name'];  
$gplusURL=$userdata['link'];  
$avatar=$userdata['picture'];  
$gender=$userdata['gender'];  
$dob=$userdata['birthday'];  
//Execture query  
$sql=mysql_query("insert into users(email,fullname,firstname,lastname,google_id,gender,dob,profile_image,gpluslink) values('$email','$fullName','$firstName','$lastName','$googleid','$gender','$dob','$avatar','$gplusURL')");  
?>

db.php

数据库配置文件。

<?php  
$mysql_hostname = "localhost";  
$mysql_user = "username";  
$mysql_password = "password";  
$mysql_database = "databasename";  
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");  
mysql_select_db($mysql_database, $bd) or die("Could not select database");  
?>
下一篇:没有了