【问题标题】:Where to store Application Key?在哪里存储应用程序密钥?
【发布时间】:2015-08-22 02:36:28
【问题描述】:

我按照这篇文章使用 Azure 移动服务创建了我的第一个 Android 应用程序。

https://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started/

为了使用移动服务SDK,客户端需要知道Application Key,从Azure门户获取。

在示例应用程序中,应用程序密钥存储在客户端应用程序中。 我的问题是,这安全吗?如果有人反编译源代码怎么办?

如果这种做法不安全,存储此应用程序密钥的推荐方式是什么?

谢谢

【问题讨论】:

标签: azure azure-mobile-services


【解决方案1】:

假设有人成功获取了您的应用程序密钥并可以与您的后端进行交互。

在我看来,您有责任确保没有人不能做不允许做的事情。 例如,您必须让您的移动客户端能够直接向您的数据库发送查询;您应该只让他与一个或多个 API 交互,这将让他使用您希望他使用的资源和/或服务。您必须控制您的客户可以访问哪些数据。

如果您设法正确执行此操作,您将很快理解为什么如果有人以某种方式找到您的应用程序密钥并没有什么大不了的:它将无法访问未经授权的数据。

PS:通常,在开发后端 API 时,您必须始终记住,您永远不必相信客户发送/询问您的内容。因此,您应该始终先进行一些检查。 (连接令牌、有效参数类型等)

【讨论】:

    【解决方案2】:

    前面的答案是正确的,确实没有办法避免将凭据传递给服务进行身份验证。

    但是,如果您有其他类型的敏感凭据,请查看此主题,它将信息存储在您的移动服务中,然后您可以访问 Upload images to Azure Blob storage by using Mobile Services

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 2012-09-06
      • 2013-02-19
      • 2010-11-10
      相关资源
      最近更新 更多