相当于gcloud auth-print标识令牌的Php



我的目标是通过我的php代码触发一个谷歌云函数。为此,我需要一个身份令牌作为Bearer,但我的服务器上没有安装gcloud。我有一个工作服务帐户,我通过Google_Client("Google/apiclient":"2.10.1"(创建了一个对象:

$this->setAuthConfig($serviceJson);
$scope = [Google_Service_Compute::CLOUD_PLATFORM, 'openid', 'email'];
$this->addScope($scope);
if ($this->isAccessTokenExpired()) {
$this->fetchAccessTokenWithAssertion();
}
$this->getAccessToken()

使用这个客户端,我只能获取access_token(未经授权触发云功能(,但id_token总是空的。

如何获取id_token?有没有php库可以提供帮助,或者我需要执行单独的POST请求来获取id_token?

我找到的唯一方法是这样的:

  1. 手动生成JWT(根据服务帐户中的数据(
  2. 发送到https://www.googleapis.com/oauth2/v4/token并接收令牌
  3. 在CF调用中使用令牌

相关内容

  • 没有找到相关文章

最新更新