栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP实现Google Oauth的登录系统

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP实现Google Oauth的登录系统

原文链接

本文讲述的是如何为你的PHP项目实现Google的Oauth系统。这个示例PHP脚本非常快,对增加你的PHP项目注册当然是很有帮助的。

在这之前,我们已经覆盖了包含Facebook、Twitter、Google plus以及Instagram的Oauth登录系统示例。很遗憾之前我遗漏掉了Google的Oauth登录系统。今天我们就来看一下如何为你的web项目实现Google的Oauth系统。

在这之前,我们已经覆盖了包含Facebook、Twitter、Google plus以及Instagram的Oauth登录系统示例。很遗憾之前我遗漏掉了Google的Oauth登录系统。今天我们就来看一下如何为你的web项目实现Google的Oauth系统。这个示例脚本非常快,对增加你的web项目注册当然是很有帮助的。

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,所有权认证

验证您的域名所有权,可以通过HTML文件上传或包括meta标记。

所有权认证

3,OAuth Keys

谷歌将提供你OAuth用户密钥和OAuth秘密密钥。

Oauth keys

4, Google API控制台

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

Google API控制台

Google API控制台

然后你就可以看见你的客户端ID和密钥。

配置好的Google Oauth信息

config.php

你可以在src文件夹找到这个文件,在这里您需要配置应用程序OAuth密钥,Consumer keys和重定向回调URL。

// 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

Google plus登录系统,你只需要在index.php中加载这个文件。

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 "Google Account Login";  
} else {  
echo "Logout";  
}  
?>

home.php

在这里我们需要向之前创建的user表插入Google plus的session信息。代码如下:

db.php

数据库配置文件。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227232.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号