谷歌授权登录APP (PHP部分)
在谷歌查看自己的client_id 网址: https://console.cloud.google.com/apis/credentials
用composer 安装谷歌的扩展包 我这里下载的是 2.12.1 版本 要求 PHP 5.6.0或更高版本
composer require google/apiclient
// 这里要注意 这样会安装全部的谷歌扩展 我们目前只用到谷歌登录 所以可以修改 composer.json 文件 控制下载指定扩展
// 如下代码所示 只保留Drive和YouTube
{
"require": {
"google/apiclient": "2.12.1"
},
"scripts": {
"pre-autoload-dump": "Google\\\Task\\\Composer::cleanup"
},
"extra": {
"google/apiclient-services": \[
"Drive",
"YouTube" \]
}
}
// 这个时候就可以使用谷歌的扩展 来验证 id_token
// APP通过接入谷歌授权 获取到id_token 通过接口传给后端来验证
$client = new Google_Client(\['client_id' => $CLIENT_ID\]); // 前面获取到的client_id
$payload = $client->verifyIdToken($id_token);
if ($payload) {
$userid = $payload\['sub'\];
// If request specified a G Suite domain:
//$domain = $payload\['hd'\];
} else {
// Invalid ID token
}
参考文档: