Question

I've been using the PHP client library for Google OAuth2. I have everything working perfectly, however, when the token expires around 3600 seconds (60 min.), I get an error.

I had it set to when the access token expires, it redirects to the home page; like so:

     if($client->isAccessTokenExpired()) {
       session_destroy();
       header('Location: index.php');
     }

Works fine, although rather annoying to a user who is logged on and gets logged out 60 min in, trying to use the app.

How can I make the session longer?

Was it helpful?

Solution

From the docs:

Access tokens have limited lifetimes. If your application needs access to a Google API beyond the lifetime of a single access token, it can obtain a refresh token. A refresh token allows your application to obtain new access tokens.

Example:

if ($client->isAccessTokenExpired()) {
    $client->refreshToken($token->refresh_token);
    $token = $client->getAccessToken();
    // save the new token
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top