【问题标题】:Whats the best way to use google credentials for production app?将谷歌凭据用于生产应用程序的最佳方式是什么?
【发布时间】:2019-05-31 09:38:45
【问题描述】:

我正在为 STT 构建一个 C# .net 应用程序,并且我正在手动创建凭据。我发现文档让我非常困惑,我不知道如何正确添加凭据。

我添加了一个项目,创建了一个 json 凭证并下载并保存在一个文件夹中,并使用 GoogleCredential 手动指向它以进行授权,并且一切正常。但这不能成为已发布应用程序的解决方案。目前的做法:

GoogleCredential credentials =
GoogleCredential.FromFile(Path.Combine("*PATH"), "myProject-123XXXx32.json"));

        TextToSpeechClient client = TextToSpeechClient.Create(credentials);

如果我通过环境变量使用默认凭据 json,那么我在用户机器上运行的生产应用程序将如何拥有凭据?

所以我必须将 json 直接放到我的应用程序中?是不是比使用密钥更安全?

我应该使用什么来通过GoogleCredential 验证我的应用程序?

【问题讨论】:

  • 好问题,我敢打赌您的凭据仍会被解密,并且您需要为额外的使用付费。您需要以某种方式将凭据连接到用户身份验证。

标签: c# google-api speech-recognition google-speech-api


【解决方案1】:

您可以使用 Google KMS 设置凭据并在您的应用程序https://cloud.google.com/kms/ 中使用它。

1a。将 KMS 中的 JSON 保存为 KEY 值的 JSON。

2a。在您的代码中解密 JSON 并使用它。


1b。或者,您可以使用环境变量使其使用凭据

2b。并且只需在您的应用程序发布的环境中设置环境。

3b。您可以使用无服务器框架(https://serverless.com/framework/docs/providers/google/)等工具自动执行 2b 步骤

【讨论】:

  • 我对KMS了解不多,如果我不想让我的用户登录,那么KMS可以工作吗?这也需要成本。替代方案不适合商业用途,因为最终用户的信任度不足以在他们的机器上提供凭证 json。
猜你喜欢
  • 2011-09-20
  • 2011-01-01
  • 2021-07-01
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多