我正在构建一个使用公共 api 的应用程序。该 api 允许我们使用权限代表不同应用程序的用户执行操作;token
我们以 a和 a的形式从用户那里收集权限secret
,我们用来代表他们进行身份验证和执行操作。
我们将token
and存储secret
在我们的数据库中。它们是专门为我们的 api 应用程序生成的,所以每当我们需要使用 api 为用户执行操作时,我们还需要提供自己的 api 凭据;所以类似于:
from myapp.settings import API_APPID, API_PASS
user.perform_action(api_appid=API_APPID, api_pass=API_PASS, permissions_token=user.permissions_token, permissions_secret=user.permissions_secret)
(实际上,我们使用权限令牌/秘密生成身份验证标头)。
我想知道我们是否应该在我们的数据库中加密权限令牌/秘密?我最初的想法是不,因为没有我们自己的 api 凭据(存储在我们的 settings.py 中),权限令牌和密码是无用的
如果我们要加密令牌,无论如何我们都会将私钥存储在 settings.py 中,这意味着应用程序的安全性将同样取决于我们的设置文件的保密性。
有什么想法吗?是否有充分的理由加密这些令牌,还是我认为它是多余的?
谢谢你的帮助。