【问题标题】:How to store client_secret for serverless apps (Spotipy)如何为无服务器应用程序存储 client_secret (Spotipy)
【发布时间】:2020-04-27 12:42:40
【问题描述】:

(注意:现在,我知道你们中的很多人可能会跳到前面说“嘿。重复。”请继续阅读!)

背景:

我的目标是使用他们的 python API Spotipy 为 PC 制作一个与 Spotify 交互的 Python 应用程序。这显然需要存储 client_secret 以进行用户身份验证。根据我的研究,将其作为纯文本存储在任何地方都是一个很大的禁忌。其他解决方案涉及加密该数据(然后,存储该密钥的位置)。最好的解决方案显然是让后端在服务器中处理身份验证请求(我是一名学生,显然有一百万台服务器可供我使用;)...)但是说真的,要清楚,我没有服务器托管这个应用程序。而且我不想花钱从 AWS 或其他人那里购买资源。另外,澄清一下,这不是一个 Web 应用程序。它是否意味着可下载,以便用户可以安装它,登录到 Spotify,然后瞧。

问题:

基本上,如果没有服务器,我如何安全地存储此密钥?根据我的使用情况,是否需要安全地存储密钥?

【问题讨论】:

    标签: python spotify spotipy


    【解决方案1】:

    它是否意味着可下载,以便用户可以安装它,登录到 Spotify,然后瞧。基本上,没有服务器,我如何安全地存储这个密钥?

    任何秘密都不应该存在于用户端。或者用户/黑客迟早能够找到它。更多关于这里How to store a secret API key in an application's binary?

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

    如果您在没有服务器的情况下工作,我会看到 2 个选项:

    • (安全但不方便)让用户使用自己的应用 ID/Secret,
    • (有风险但方便)决定公开发布您的应用 ID / Secret。由于每个人都可以免费创建 Spotify 应用程序,因此除了您的应用程序将生成的统计数据之外,它并没有什么秘密。至少,它不应该阻止您的应用运行,除非有人决定使用自己的时间和金钱来达到您应用的速率限制。

    编辑:您可能会对Implicit Grant Flow 感兴趣,它可以毫无秘密地工作。但是它还没有实现

    【讨论】:

      猜你喜欢
      • 2018-05-24
      • 2017-09-08
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      相关资源
      最近更新 更多