gpt4 book ai didi

android - 保护 Dropbox 访问 token

转载 作者:行者123 更新时间:2023-11-29 19:57:10 26 4
gpt4 key购买 nike

所以我正在使用 Xamarin Android 制作一个供公司客户使用的保管箱应用程序(并且不会在 Playstore 上发布)。由于它的所有用户都使用同一个 Dropbox 帐户,因此应用程序的访问 token 在源代码中是硬编码的,如下所示:

var dbx = new DropboxClient("abc_token_xyz")

我觉得这不是最好的方法,因为如果有人拿到 apk,他们可以反编译应用并查看 token 。

我的问题是保护 token 的最佳方式是什么?或者我应该使用这种方法吗?

最佳答案

Dropbox API 的设计目的是让每个用户都可以链接自己的 Dropbox 帐户,以便与自己的文件进行交互。但是,如您所示,从技术上讲可以连接到一个帐户。

如前所述,问题是可以从应用程序中提取访问 token 。这是一个更基本的问题,不仅仅是 Dropbox API。也就是说,客户端应用无法保密。虽然您可以采取各种尝试来增加提取 token 的难度,但您不能让它变得不可能。

因此,非常不推荐这种方法。一旦有人获得了访问 token ,他们就可以使用它来绕过您试图强制执行的任何访问控制,甚至可以撤销访问 token 本身,从而破坏您的应用。

不过,为了稍微解决您的第一个问题,您可以:

  • 混淆代码中的 token ,以便在检查应用程序时它不是简单的字符串。我确信已经有很好的 Java 混淆资源可用。请注意,它可以不被混淆。
  • 加密访问 token 。请注意,加密 key 也需要对应用程序可用,因此它也可以被提取,以便解密访问 token 。

此外,这两种技术都无法防止有人对设备执行中间人攻击(通过在设备上安装受信任的证书)并检查来自应用程序本身的 API 调用以查看 token 。

关于android - 保护 Dropbox 访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36637464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com