成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Google Oauth登錄系統開發示例

開發 后端
本文講述的是如何為你的web項目實現Google的Oauth系統。這個示例腳本非???,對增加你的web項目注冊當然是很有幫助的。

在這之前,我們已經覆蓋了包含Facebook、Twitter、Google plus以及Instagram的Oauth登錄系統示例。很遺憾之前我遺漏掉了Google的Oauth登錄系統。今天我們就來看一下如何為你的web項目實現Google的Oauth系統。這個示例腳本非常快,對增加你的web項目注冊當然是很有幫助的。

Google Oauth登錄系統開發示例 

Google Oauth登錄系統開發示例

在線Demo:Live Demo

數據庫設計

數據庫設計很簡單,如下所示:

  1. CREATE TABLE users  
  2. (  
  3. id INT PRIMARY KEY AUTO_INCREMENT,  
  4. email VARCHAR(50) UNIQUE,  
  5. fullname VARCHAR(100),  
  6. firstname VARCHAR(50),  
  7. lastname VARCHAR(50),  
  8. google_id VARCHAR(50),  
  9. gender VARCHAR(10),  
  10. dob VARCHAR(15),  
  11. profile_image TEXT,  
  12. gpluslink TEXT  

1,域名注冊

這里注冊或者添加你的域名。

域名注冊

域名注冊

2,所有權認證

驗證您的域名所有權,可以通過HTML文件上傳或包括META標記。

所有權認證 

所有權認證

3,OAuth Keys

谷歌將提供你OAuth用戶密鑰和OAuth秘密密鑰。

Oauth keys 

Oauth keys

4, Google API控制臺

Google API控制臺創建客戶端ID。

Google API控制臺 

Google API控制臺

Google API控制臺 

Google API控制臺

然后你就可以看見你的客戶端ID和密鑰。

配置好的Google Oauth信息 

配置好的Google Oauth信息

config.php

你可以在src文件夾找到這個文件,在這里您需要配置應用程序OAuth密鑰,Consumer keys和重定向回調URL。

  1. // OAuth2 Settings, you can get these keys at https://code.google.com/apis/console Step 6 keys  
  2. 'oauth2_client_id' => 'App Client ID',  
  3. 'oauth2_client_secret' => 'App Client Secret',  
  4. 'oauth2_redirect_uri' => 'http://yoursite.com/gplus/index.php',  
  5.  
  6. // OAuth1 Settings Step 3  keys.  
  7. 'oauth_consumer_key' => 'OAuth Consumer Key',  
  8. 'oauth_consumer_secret' => 'OAuth Consumer Secret'

google_login.php

Google plus登錄系統,你只需要在index.php中加載這個文件。

  1. <?php  
  2. require_once 'src/apiClient.php';  
  3. require_once 'src/contrib/apiOauth2Service.php';  
  4. session_start();  
  5. $client = new apiClient();  
  6. setApplicationName("Google Account Login");  
  7. $oauth2 = new apiOauth2Service($client);  
  8. if (isset($_GET['code']))  
  9. {  
  10. $client->authenticate();  
  11. $_SESSION['token'] = $client->getAccessToken();  
  12. $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];  
  13. header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));  
  14. }  
  15. if (isset($_SESSION['token'])) {  
  16. $client->setAccessToken($_SESSION['token']);  
  17. }  
  18. if (isset($_REQUEST['logout'])) {  
  19. unset($_SESSION['token']);  
  20. unset($_SESSION['google_data']); //Google session data unset  
  21. $client->revokeToken();  
  22. }  
  23. if ($client->getAccessToken())  
  24. {  
  25. $user = $oauth2->userinfo->get();  
  26. $_SESSION['google_data']=$user// Storing Google User Data in Session  
  27. header("location: home.php");  
  28. $_SESSION['token'] = $client->getAccessToken();  
  29. else {  
  30. $authUrl = $client->createAuthUrl();  
  31. }  
  32. if(isset($personMarkup)):  
  33. print $personMarkup;  
  34. endif 
  35. if(isset($authUrl))  
  36. {  
  37. echo "<a class="login" href="$authUrl">Google Account Login</a>";  
  38. else {  
  39. echo "<a class="logout" href="?logout">Logout</a>";  
  40. }  
  41. ?>  

home.php

在這里我們需要向之前創建的user表插入Google plus的session信息。代碼如下:

  1. <?php  
  2. session_start();  
  3. include('db.php'); //Database Connection.  
  4. if (!isset($_SESSION['google_data'])) {  
  5. // Redirection to application home page.  
  6. header("location: index.php");  
  7. }  
  8. else 
  9. {  
  10. //echo print_r($userdata);  
  11. $userdata=$_SESSION['google_data'];  
  12. $email =$userdata['email'];  
  13. $googleid =$userdata['id'];  
  14. $fullName =$userdata['name'];  
  15. $firstName=$userdata['given_name'];  
  16. $lastName=$userdata['family_name'];  
  17. $gplusURL=$userdata['link'];  
  18. $avatar=$userdata['picture'];  
  19. $gender=$userdata['gender'];  
  20. $dob=$userdata['birthday'];  
  21. //Execture query  
  22. $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')");  
  23. ?> 

db.php

數據庫配置文件。

  1. <?php  
  2. $mysql_hostname = "localhost";  
  3. $mysql_user = "username";  
  4. $mysql_password = "password";  
  5. $mysql_database = "databasename";  
  6. $bd = mysql_connect($mysql_hostname$mysql_user$mysql_passwordor die("Could not connect database");  
  7. mysql_select_db($mysql_database$bdor die("Could not select database");  
  8. ?> 

源碼下載

原文鏈接:http://www.phpfuns.com/php/login-with-google-account-oauth.shtml

責任編輯:張偉 來源: phpFuns
相關推薦

2012-06-13 10:36:44

PHP

2022-02-08 15:21:59

Hi3861開發鴻蒙

2011-04-12 16:00:42

銀行系統周偉然

2022-09-19 14:13:15

RabbitMQ系統開發

2009-08-17 08:37:31

2022-02-09 19:45:41

MQTTOpenHarmon鴻蒙

2015-09-15 17:51:42

存儲系統云存儲存儲開發

2011-01-06 15:11:09

嵌入式linux

2010-03-04 15:04:35

2022-02-10 15:07:10

云平臺OpenHarmon系統開發

2023-04-03 15:39:31

2010-01-15 10:02:57

CentOS5.2 A

2022-01-21 21:22:24

OpenHarmon操作系統鴻蒙

2010-04-21 09:53:24

2022-01-24 18:35:56

OpenHarmon鴻蒙操作系統

2015-06-01 10:31:43

微軟開源rDSN

2022-01-19 17:06:40

人工智能衛星安全

2009-06-29 14:13:00

數據網網管系統

2023-03-24 14:39:17

鴻蒙系統開發

2018-12-18 13:54:57

MVPGoogleAndroid
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久热在线精品视频观看 | 色婷婷av一区二区三区软件 | eeuss国产一区二区三区四区 | 亚洲欧洲精品一区 | xx视频在线| 在线中文视频 | 久久人体 | 欧美在线一区二区三区 | 成人免费精品 | 日韩一区二区三区在线 | 高清国产午夜精品久久久久久 | 亚洲欧美日韩在线不卡 | 日韩成人免费视频 | 中文字幕一区二区三区四区五区 | 91精品国产91 | 中文字字幕一区二区三区四区五区 | av免费观看网站 | 久久国产电影 | 91精品国产综合久久久久 | 久久久123 | 久久国产成人午夜av影院武则天 | 91精品国产综合久久小仙女图片 | 久久精品综合网 | 国产观看 | 成人国产一区二区三区精品麻豆 | 中文字幕 欧美 日韩 | 日韩在线欧美 | 99久久99久久精品国产片果冰 | 国产高潮好爽受不了了夜色 | 欧美a区| 国产欧美一区二区久久性色99 | 亚洲精品区 | 亚洲成人三级 | 日韩在线视频免费观看 | 精品一区二区在线视频 | 午夜小电影 | 亚洲一区视频在线 | 中文字幕专区 | 国产精品久久久久久久久久免费看 | 亚洲一区国产精品 | 日本高清不卡视频 |