当前位置:  开发笔记 > 编程语言 > 正文

通过Heroku安全使用Google服务帐户

如何解决《通过Heroku安全使用Google服务帐户》经验,为你挑选了1个好方法。

我正在尝试将Google Cloud Vision API与Node结合使用,并在Heroku上运行该应用程序。非常接近此示例的内容:

https://github.com/googleapis/nodejs-vision

但是,Google API希望通过读取包含服务帐户的文件进行身份验证,并使用环境变量读取文件的位置。有没有办法使用Heroku安全地存储此文件,或者以某种方式利用Heroku Config Vars?



1> dsesto..:

实际上,NodeJS Google Auth库的文档提供了有关如何从环境变量加载凭据的完整示例。具体来说,它说在使用类似Heroku的系统时建议使用此方法,因此我认为您绝对应该对此进行了解。

下载服务帐户的凭据(格式如下)后,可以按照以下步骤使用它们:

    使用以下命令加载环境变量 process.env['NAME_OF_YOUR_ENV_VAR'];

    将变量解析为JSON JSON.parse(keysVar);

    使用GoogleAuth.fromJSON()方法使用密钥授权请求。

凭证格式:

$ export CREDS='{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "your-private-key-id",
  "private_key": "your-private-key",
  "client_email": "your-client-email",
  "client_id": "your-client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "your-cert-url"
}'

您可以在第二个链接中共享的Google Auth文档(或直接在此示例文件中)中找到有关如何使用它们的更详细的示例,请随时根据自己的使用情况对其进行调整,以方便使用。

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有