summaryrefslogtreecommitdiffstats
path: root/includes/google-api-php-client-master/examples/idtoken.php
diff options
context:
space:
mode:
authorBlueRaja <BlueRaja.admin@gmail.com>2015-05-07 23:14:47 -0500
committerBlueRaja <BlueRaja.admin@gmail.com>2015-05-07 23:14:47 -0500
commit3dc3919ce1b5336861979cde56884842615c967b (patch)
treef0a2418290cecd15f20c834bb071ffa9f3694b09 /includes/google-api-php-client-master/examples/idtoken.php
parent29e872fbc6c552ef02208fe9fa5416b69773aa38 (diff)
parentc517b645c8723b5f4d20cbb91cbc4b9f45579cbb (diff)
downloadpathery-3dc3919ce1b5336861979cde56884842615c967b.tar.xz
Merge branch 'master' of git.raylu.net:pathery
Diffstat (limited to 'includes/google-api-php-client-master/examples/idtoken.php')
-rw-r--r--includes/google-api-php-client-master/examples/idtoken.php107
1 files changed, 107 insertions, 0 deletions
diff --git a/includes/google-api-php-client-master/examples/idtoken.php b/includes/google-api-php-client-master/examples/idtoken.php
new file mode 100644
index 0000000..af21b8d
--- /dev/null
+++ b/includes/google-api-php-client-master/examples/idtoken.php
@@ -0,0 +1,107 @@
+<?php
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+include_once "templates/base.php";
+session_start();
+
+require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
+
+/************************************************
+ ATTENTION: Fill in these values! Make sure
+ the redirect URI is to this page, e.g:
+ http://localhost:8080/user-example.php
+ ************************************************/
+$client_id = '<YOUR_CLIENT_ID>';
+$client_secret = '<YOUR_CLIENT_SECRET>';
+$redirect_uri = '<YOUR_REDIRECT_URI>';
+
+$client = new Google_Client();
+$client->setClientId($client_id);
+$client->setClientSecret($client_secret);
+$client->setRedirectUri($redirect_uri);
+$client->setScopes('email');
+
+/************************************************
+ If we're logging out we just need to clear our
+ local access token in this case
+ ************************************************/
+if (isset($_REQUEST['logout'])) {
+ unset($_SESSION['access_token']);
+}
+
+/************************************************
+ If we have a code back from the OAuth 2.0 flow,
+ we need to exchange that with the authenticate()
+ function. We store the resultant access token
+ bundle in the session, and redirect to ourself.
+ ************************************************/
+if (isset($_GET['code'])) {
+ $client->authenticate($_GET['code']);
+ $_SESSION['access_token'] = $client->getAccessToken();
+ $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
+ header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
+}
+
+/************************************************
+ If we have an access token, we can make
+ requests, else we generate an authentication URL.
+ ************************************************/
+if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
+ $client->setAccessToken($_SESSION['access_token']);
+} else {
+ $authUrl = $client->createAuthUrl();
+}
+
+/************************************************
+ If we're signed in we can go ahead and retrieve
+ the ID token, which is part of the bundle of
+ data that is exchange in the authenticate step
+ - we only need to do a network call if we have
+ to retrieve the Google certificate to verify it,
+ and that can be cached.
+ ************************************************/
+if ($client->getAccessToken()) {
+ $_SESSION['access_token'] = $client->getAccessToken();
+ $token_data = $client->verifyIdToken()->getAttributes();
+}
+
+echo pageHeader("User Query - Retrieving An Id Token");
+if (strpos($client_id, "googleusercontent") == false) {
+ echo missingClientSecretsWarning();
+ exit;
+}
+?>
+<div class="box">
+ <div class="request">
+<?php
+if (isset($authUrl)) {
+ echo "<a class='login' href='" . $authUrl . "'>Connect Me!</a>";
+} else {
+ echo "<a class='logout' href='?logout'>Logout</a>";
+}
+?>
+ </div>
+
+ <div class="data">
+<?php
+if (isset($token_data)) {
+ var_dump($token_data);
+}
+?>
+ </div>
+</div>
+<?php
+echo pageFooter(__FILE__);