【问题标题】:Django caching simple auth tokenDjango缓存简单的身份验证令牌
【发布时间】:2021-02-24 07:24:26
【问题描述】:

我有一个应用程序,它使用带有simple AuthToken 的 Django DRF、用于数据库的 Postgres 和用于缓存的 Redis。

我正在尝试减少对我的数据库的调用次数,最常见的操作之一是在 AuthToken 表上进行 SELECT。实际上,需要为受保护端点上的每个请求调用它来验证用户的权限。

我们可以通过在 Redis 中将用户的令牌缓存为 {user_id: token} 来减少对我们数据库的调用次数。

假设我们为密钥设置了适当的过期时间,并且我们在撤销令牌 AuthToken 的情况下使其失效,缓存 auth 令牌是一种反模式吗?我应该关注什么安全问题关于?

【问题讨论】:

    标签: django caching django-rest-framework redis auth-token


    【解决方案1】:
    • 如果您不想进行数据库查找,可以使用JWT。 JWT 正在使用加密技术来检查令牌。
    • 如果您想保留 DRF 令牌,您可以缓存它,但它会增加您的代码的复杂性。您是否发现这些查询对数据库性能有巨大影响?
    • 如果您决定缓存令牌,请记住保护 Redis。
    • 我在我的样板文件和Django+React articles 中使用了 DRF 令牌。我喜欢这种方式,因为它使代码/流程变得简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2021-01-10
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 2020-09-29
      相关资源
      最近更新 更多