首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google OAuth2 - isAccessTokenExpired()总是正确的

Google OAuth2 - isAccessTokenExpired()总是正确的
EN

Stack Overflow用户
提问于 2015-04-22 12:45:29
回答 4查看 4.5K关注 0票数 5

我在我的应用程序中使用OAuth,当访问令牌过期时,我希望注销用户。

但是当我检查令牌到期时

代码语言:javascript
运行
复制
 $client->isAccessTokenExpired()

它总是返回1。

代码语言:javascript
运行
复制
if (isset($_GET['logout'])) {
    unset($_SESSION['token']);
}


if (isset($_GET['code'])) {
    $client->authenticate($_GET['code']);
    $_SESSION['token'] = $client->getAccessToken();
    $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
    header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));  
}



if (!isset($_SESSION['token'])) {
    $authUrl = $client->createAuthUrl();
 }


if (isset($_SESSION['token'])) {
    $client->setAccessToken($_SESSION['token']);
    $service = new Google_Service_Calendar($client);

    $oauth2 = new Google_Service_Oauth2($client);
    $userinfo = $oauth2->userinfo->get();
    $emailUser = $userinfo->getEmail();
    $_SESSION['emailUser'] = $userinfo->getEmail();
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-04-25 22:16:49

您可能在运行$client->setAccessToken();之前检查过期。让我们看看您正在检查过期的代码。

票数 12
EN

Stack Overflow用户

发布于 2022-09-18 13:19:04

在检查isAccessTokenExpired之前,需要设置刷新令牌

  • $client->刷新托肯($refresh_token);
票数 0
EN

Stack Overflow用户

发布于 2022-11-14 08:53:46

我知道这是非常古老的,但是函数isAccessTokenExpired()在通过setAccessToken($params)设置令牌后排除了expires_in键时将返回true。

例如,设置访问令牌应该如下,

代码语言:javascript
运行
复制
$client->setAccessToken([
  'id_token' => '...',
  'created' => '...', // or, if you don't have id_token
  'expires_in' => '...',
]);

在谷歌的github中,这是检查expires_in键的代码:https://github.com/googleapis/google-api-php-client/blob/main/src/Client.php#L570-L573

代码语言:javascript
运行
复制
if (!isset($this->token['expires_in'])) {
    // if the token does not have an "expires_in", then it's considered expired
    return true;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29798019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档