c# - 使用 Firebase Auth 对其进行身份验证后,如何在最终用户 c# 应用程序中安全地使用 Google Speech API?
问题描述
我的登录流程的背景:
我正在创建一个将分发给最终用户的 C# WPF应用程序。
在我的网站上,我使用 FirebaseUI Auth 进行登录身份验证,以便用户可以使用 Google、Facebook 或电子邮件登录。
当用户启动登录到应用程序时,它会将用户临时转移到网站,该网站在服务器上生成自定义 JWT 令牌,然后返回到网站-> 应用程序,然后应用程序使用新生成的 JWT 令牌来使用FirebaseAuthentication.net进行身份验证以生成 Firebase 身份验证令牌。这非常适合连接到 Firebase REST API (如 Firestore)以获取客户端Application上的用户信息。
问题: 我不仅想连接到 Firebase API,还想连接到 Google Cloud Speech API(在本例中为 Speech-To-Text)。我不相信 Firebase 身份验证令牌足以实现这一目标。我可以验证用户并在服务器或客户端上访问他们的 Firebase 数据,但这不足以连接到 Google Speech-To-Text API。在 Google 的示例中,使用客户端凭据首先需要从其授权端点获取授权码。在Google 的 Windows 应用程序 OAuth 示例中,这是https://accounts.google.com/o/oauth2/v2/auth授权端点。
理论化产生了另一个潜在问题,可以更快地回答这个问题: 我可以使用我的 FirebaseUI 身份验证页面作为 OAuth 端点以某种方式通过 Google 验证我的最终用户应用程序以连接到 Google Speech-to-Text API,而不是使用https: //accounts.google.com/o/oauth2/v2/auth端点?
问题: 在使用 Firebase Auth 进行身份验证后,如何从最终用户应用程序访问 Google Cloud Speech-To-Text API?
Google 关于如何以最终用户身份进行身份验证的参考: https ://cloud.google.com/docs/authentication/end-user
解决方案
Google Cloud Speech API 身份验证需要单独进行。您需要从 Cloud Console 启用此 API 并创建服务帐号密钥。由于这是一个最终用户应用程序,我建议在服务器端进行。Firebase GCP 集成文档中提供了 API 集成示例。
推荐阅读
- git - 为什么我会收到“不推荐使用 git lfs clone”的警告?
- javascript - 如何使用 Angular 将第一个表的数据复制到第二个表?
- android - 如何将 tawk.to UI 合并到聊天应用程序中?
- python - 如何在 Python 中使用 AJAX 在按钮单击时显示/获取数据 - AJAX
- python - Python循环替换字符串的一部分
- php - 无法使用 ajax laravel 将数据插入数据库
- javascript - JS 鼠标动作事件监听器(mousever、mouseleave、click)单独工作但不能一起工作
- r - 我的 r 闪亮应用程序需要 dockerfile 中的 odbc 驱动程序
- reactjs - 覆盖不适用于反应大日历
- rust - Rust:参数要求借用持续为“静态”