【发布时间】:2018-04-16 04:07:32
【问题描述】:
您好,当用户尝试使用 google Oauth 2.0 登录时,我正在设置离线访问,然后我正在获取刷新令牌并将其存储到我的数据库中,以便我以后可以使用它而不要求用户再次登录,我发现该用户可以从他的谷歌帐户中撤销我们从他的谷歌应用程序中的应用程序访问权限,之后我们的刷新访问令牌将不起作用。
所以他们是一种我们可以在使用之前检查我们的刷新令牌是否有效的方法我试图从谷歌 api 文档中找到但找不到任何帮助我只能发现我们可以检查简单的过期时间仅 1 小时有效的访问令牌。
if($client->isAccessTokenExpired())
但我想检查我的刷新令牌是否是我们可以检查它的一种方式,或者 google outh 2.0 是否有一些网络钩子可以在用户撤销我们的应用程序访问权限时调用我们的 url。
这是我的登录代码
$google_redirect_url = $url;
$client = new \Google_Client();
$client->setAuthConfig('/secret.json');
$client->setRedirectUri($google_redirect_url);
$client->setAccessType('offline'); // offline access
$client->setIncludeGrantedScopes(true); // incremental auth
$client->setApprovalPrompt('force');
$client->setScopes(array(
'https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/youtube',
'https://www.googleapis.com/auth/youtube.upload'
));
我也一直在寻找解决方案,但找不到。
【问题讨论】:
标签: php oauth google-api google-oauth