问题
As the title reads, I want to revoke a granted access token programatically (in PHP that is). I found this on their website, but can't seem to find a function in the api client library. Is there a clean library function?
EDIT: As pointed out by DaimTo there is a function called revokeToken(). So this code works in PHP (with composer):
require_once "vendor/autoload.php";
$client = new Google_Client();
$client->setApplicationName(GOOGLE_APP_NAME);
$client->setClientId(GOOGLE_CLIENT_ID);
$client->setClientSecret(GOOGLE_CLIENT_SECRET);
$client->revokeToken($access_token);
回答1:
try
$client->revokeToken();
or
$client->revokeToken($accesstoken);
Information found by digging around the Google-api-php-Client
回答2:
<a href="logout.php">Logout</a>
/** logout file **/
<?php
require_once __DIR__ . '/vendor/autoload.php';
session_start();
$accesstoken=$_SESSION['access_token'];
//Unset token and user data from session
unset($_SESSION['access_token']);
unset($_SESSION['userData']);
//Reset OAuth access token
$client = new Google_Client();
//$client->revokeToken();
$client->revokeToken($accesstoken);
//Destroy entire session
session_destroy();
//Redirect to homepage
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/googlelogin/index.php';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
?>
来源:https://stackoverflow.com/questions/31515231/revoke-google-access-token-in-php