偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Google Oauth登錄系統(tǒng)開發(fā)示例

開發(fā) 后端
本文講述的是如何為你的web項(xiàng)目實(shí)現(xiàn)Google的Oauth系統(tǒng)。這個(gè)示例腳本非常快,對(duì)增加你的web項(xiàng)目注冊(cè)當(dāng)然是很有幫助的。

在這之前,我們已經(jīng)覆蓋了包含F(xiàn)acebook、Twitter、Google plus以及Instagram的Oauth登錄系統(tǒng)示例。很遺憾之前我遺漏掉了Google的Oauth登錄系統(tǒng)。今天我們就來(lái)看一下如何為你的web項(xiàng)目實(shí)現(xiàn)Google的Oauth系統(tǒng)。這個(gè)示例腳本非常快,對(duì)增加你的web項(xiàng)目注冊(cè)當(dāng)然是很有幫助的。

Google Oauth登錄系統(tǒng)開發(fā)示例 

Google Oauth登錄系統(tǒng)開發(fā)示例

在線Demo:Live Demo

數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)很簡(jiǎn)單,如下所示:

  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,域名注冊(cè)

這里注冊(cè)或者添加你的域名。

域名注冊(cè)

域名注冊(cè)

2,所有權(quán)認(rèn)證

驗(yàn)證您的域名所有權(quán),可以通過HTML文件上傳或包括META標(biāo)記。

所有權(quán)認(rèn)證 

所有權(quán)認(rèn)證

3,OAuth Keys

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

Oauth keys 

Oauth keys

4, Google API控制臺(tái)

Google API控制臺(tái)創(chuàng)建客戶端ID。

Google API控制臺(tái) 

Google API控制臺(tái)

Google API控制臺(tái) 

Google API控制臺(tái)

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

配置好的Google Oauth信息 

配置好的Google Oauth信息

config.php

你可以在src文件夾找到這個(gè)文件,在這里您需要配置應(yīng)用程序OAuth密鑰,Consumer keys和重定向回調(diào)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登錄系統(tǒng),你只需要在index.php中加載這個(gè)文件。

  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

在這里我們需要向之前創(chuàng)建的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

數(shù)據(jù)庫(kù)配置文件。

  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

責(zé)任編輯:張偉 來(lái)源: phpFuns
相關(guān)推薦

2012-06-13 10:36:44

PHP

2022-02-08 15:21:59

Hi3861開發(fā)鴻蒙

2011-04-12 16:00:42

銀行系統(tǒng)周偉然

2022-09-19 14:13:15

RabbitMQ系統(tǒng)開發(fā)

2009-08-17 08:37:31

2022-02-09 19:45:41

MQTTOpenHarmon鴻蒙

2015-09-15 17:51:42

存儲(chǔ)系統(tǒng)云存儲(chǔ)存儲(chǔ)開發(fā)

2011-01-06 15:11:09

嵌入式linux

2010-01-15 10:02:57

CentOS5.2 A

2022-01-21 21:22:24

OpenHarmon操作系統(tǒng)鴻蒙

2010-03-04 15:04:35

2023-04-03 15:39:31

2022-02-10 15:07:10

云平臺(tái)OpenHarmon系統(tǒng)開發(fā)

2010-04-21 09:53:24

2022-01-24 18:35:56

OpenHarmon鴻蒙操作系統(tǒng)

2015-06-01 10:31:43

微軟開源rDSN

2022-01-19 17:06:40

人工智能衛(wèi)星安全

2009-06-29 14:13:00

數(shù)據(jù)網(wǎng)網(wǎng)管系統(tǒng)

2023-03-24 14:39:17

鴻蒙系統(tǒng)開發(fā)

2018-12-18 13:54:57

MVPGoogleAndroid
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)