首页 > 解决方案 > 将谷歌凭据用于生产应用程序的最佳方式是什么?

问题描述

我正在为 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-apispeech-recognitiongoogle-speech-api

解决方案


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

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

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


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

2b。并且只需在您的应用程序正在交付的环境中设置环境。

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


推荐阅读