从本地开发环境向Google Cloud功能进行身份验证

时间:2019-11-13 02:38:39

标签: google-app-engine google-cloud-functions

我的Flask应用程序一经部署便会进行身份验证,但是我想在本地运行它以进行测试,但是它需要通过Google进行身份验证。部署时,我使用下面的方法进行身份验证,但是如何在本地创建JWT令牌?

metadata_server_token_url = 'http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=

它正试图指向{{1}},它仅在已部署的应用程序引擎本地。

我需要一种适合云功能验证的方法。我确实将环境变量设置为服务帐户密钥,但这并没有帮助。

1 个答案:

答案 0 :(得分:0)

根据官方文档Accessing Instance Metadata

  

元数据服务器可用于已部署的应用程序:正在运行   不支持在开发服务器上本地进行。您可以添加一个   仅在以下情况下对代码进行环境检查以期望获得元数据结果:   应用正在生产中。

 env =  os.environ.get('PROD', 'Specified environment variable is not set.')

 // The metadata server is only on a production system
 if env == "Production":
     //show metadata results