Cloud函数的OAuth2身份验证



我需要从本地编写的python代码中调用(OAuth-客户端凭据流和授权代码流(http云函数。

我已经在GCP项目上创建了OAuth 2.0客户端ID。

下面的代码用于获取访问令牌,但这是一个错误的谷歌登录页面。我们可以帮助理解如何从本地python代码中调用云函数吗?任何例子或指导都会很有帮助。

from google_auth_oauthlib import flow
oauthcredential= "client_secret.json" # OAuth 2.0 Client ID JSON
launch_browser = True # when using locally and False when remote
appflow = flow.InstalledAppFlow.from_client_secrets_file(oauthcredential,scopes=['https://www.googleapis.com/auth/userinfo.profile'])
if launch_browser:
appflow.run_local_server()
else:
appflow.run_console()
credentials = appflow.credentials

要调用受保护的云函数,需要一个身份令牌,而不是访问令牌。您无法从代码中自己的用户凭据生成id令牌(仅使用gcloud命令行(,并且您使用服务帐户密钥文件来实现这一点(正如我在本文中所解释的,这并不理想(。

在您的代码中,设置引用服务帐户密钥文件路径的GOOGLE_APPLICATION_CREDENTIALS环境变量,然后您可以使用fetch_id_token函数来获得id令牌

相关内容

  • 没有找到相关文章

最新更新