当前位置: 首页 > 知识库问答 >
问题:

如何在Android应用程序中保护服务帐户凭据?

元景天
2023-03-14

共有1个答案

申查猛
2023-03-14

不要在应用程序中嵌入服务帐户凭据。服务帐户凭据具有永久生存期,这意味着您将被攻破。您可以删除服务帐户凭据,但随后必须重新发布应用程序。

您有几个选项:

  1. 实现Google OAuth,以便您的用户使用Google帐户进行身份验证。进行身份验证时,请使用正确的Google OAuth作用域提供临时权限。
  2. 实现临时访问令牌。您的用户将连接到您的网站,进行身份验证,并且您的代码将为他们提供一个临时访问令牌,该令牌是由服务帐户凭据创建的。此访问令牌将过期。默认值为3600秒,但您可以控制此值。
  3. 您的用户将通过您的网站API提出所有请求。您可以控制用户的身份验证。然后,您的网站代码代表用户发出API请求。这不是一个理想的解决方案,因为所有流量都通过您的网站(计算引擎、App引擎等),而您将为带宽付费。
 类似资料:
  • 我有一个服务帐户,并且我正在向其中一个真实用户授予此服务帐户上的“服务帐户用户”角色。用户已将“应用程序默认凭据”设置为其配置的一部分,以避免每次运行时出现登录屏幕。我不确定此用户运行操作只有服务帐户才能访问的某些资源的代码的最佳方式是什么。出于安全原因,我不想使用服务帐户密钥 JSON 文件。我正在尝试以下代码 我收到错误:属性错误:“凭据”对象没有属性“with_subject”

  • 我正在用Spring创建一个RESTful Web服务,它将运行在我的Microsoft SQL server运行的服务器上(运行Ubuntu)。 我希望我的 Web 服务访问数据库并将数据发送回客户端。我想知道的是,从我的Web服务登录到SQL服务器的正确方法是什么? 我可以对凭据进行硬编码(或将它们保存在文件中),但这似乎不太安全。SQL 服务器/JDBC 驱动程序还提供哪些其他选项?提前感谢

  • 我正在尝试在 Go 应用引擎部署上使用具有域范围委派 (DwD) 的服务帐户。 我已按照使用 Google 应用程序默认凭据的步骤将服务帐户与应用引擎配合使用。 我让代码在我的开发计算机上本地运行,但我被困在从我的域中检索实际数据。 我用的是Admin SDK。在“向您的服务帐户授予域范围的权限”一节中,它说我的“服务帐户需要模拟其中一个用户来访问Admin SDK Directory API”。

  • 问题内容: 我正在尝试在具有Go的App Engine部署中使用具有域范围委托(DwD)的服务帐户。 我已经按照步骤使用Google应用程序默认凭据在App Engine中使用服务帐户。 我的代码在我的开发机器上本地运行,但是我一直坚持从域中检索实际数据。 我正在使用Admin SDK。在“将域范围的权限委派给您的服务帐户”部分下,它说我“服务帐户需要模拟其中一个用户来访问Admin SDK Di

  • 有人可以帮助我解决以下问题吗? 场景。我有一个运行在Azure虚拟机上的Windows服务。服务接收文件,以某种方式修改它们(我们假设它给Word文件添加了自定义属性)并使用MIP SDK用template ID保护它们。 问题。失败,但有以下异常: 出现一个或多个错误。ServiceDiscoveryHelper::GetServiceDetails-无法计算域:许可证域、标识和云endpoin

  • 我正在构建一个需要读取普通Gmail收件箱(不是域的一部分)的Web服务。 代码: 错误: 我看不出这有什么原因不起作用,但读完这篇文章后,你似乎不能在个人@gmail帐户上使用服务帐户凭据。有谁知道这是真的还是我做错了什么? 感谢您的帮助! 更新 如果我将更改为,我可以查看邮件,但无法修改标签,这是我的要求。