如何为无服务器应用程序存储client_secret (Spotipy)

问题描述 投票:1回答:1

(注:现在,我知道你们中的很多人可能会跳到前面去,然后说 "嘿,重复"。请往前读!)。)

背景:我的目标是为PC做一个Python应用,用他们的Python与Spotify交互。

我的目标是为PC制作一个Python应用 用Spotify的python API Spotipy与Spotify进行交互。很明显,这就需要存储client_secret来进行用户认证。根据我的研究,在任何地方以明文形式存储这个是大忌。其他的解决方案涉及到对该数据进行加密(但是,在哪里存储该密钥呢)。最好的解决方案显然是让服务器中的后台处理认证请求(我作为一个学生,显然有一百万台服务器供我支配;)......)。但是,说真的,要说明的是,我没有服务器来托管这个应用程序。我也不想花钱从AWS或其他公司购买资源。另外,要说明的是,这不是一个网络应用。它的意思是可以下载,这样用户就可以安装它,登录Spotify,然后就可以了。

问题。

基本上,没有服务器,我如何安全地存储这个密钥?而且根据我的使用情况,还有必要安全地存储这个密钥吗?

python spotify spotipy
1个回答
0
投票

是不是要下载,让用户安装后,登录Spotify,然后就可以了。基本上,在没有服务器的情况下,如何安全地存储这个密钥?

任何秘密都不应该驻留在用户端。否则用户黑客迟早能找到它。更多关于这个问题,请看这里 如何在应用程序的二进制中存储秘密的API密钥?

而根据我的使用情况,是否有必要安全地存储密钥?

如果你在没有服务器的情况下工作,我认为有2个选择。

  • (安全但不方便)让用户使用自己的应用ID秘密。
  • (虽然有风险但很方便)决定公开发布你的应用ID秘密。由于每个人都可以免费创建Spotify应用,所以除了你的应用会产生的统计数据之外,其实并没有太多的秘密。至少,它不应该阻止你的应用工作,除非有人决定用自己的时间和金钱来达到你应用的速率限制。

编辑。 你可能会对以下内容感兴趣 隐性赠款流 的工作原理,没有任何秘密。然而,它还没有实现

© www.soinside.com 2019 - 2024. All rights reserved.