首页 > 解决方案 > Django:安全存储身份验证令牌以与所有 Django 用户共享

问题描述

我建立了一个 Django 站点,其中要求所有用户都使用 Django 的标准身份验证进行身份验证。在某些页面中,django 会向同样需要身份验证的第三方站点发出请求。

该第三方站点不是 django 站点,只有一个用户,这意味着所有 django 用户将共享该 1 个用户来检索信息。

对该第三方站点的身份验证使用 JWT 流。我们首先检索一个身份验证令牌,然后将此令牌发送到添加 Django 用户 ID 的期望端点,以检索该用户 ID 信息。

我想避免 django 中的所有用户执行多个请求以获取相同的身份验证令牌,因为这对所有人来说都应该是相同的。

在 Django 中有没有办法安全地存储这个 auth Token?也许如果用户由于过期令牌而失败,django 会检索一个新令牌并将其安全存储以供所有用户使用?

标签: pythondjangosessiondjango-sessionsdjango-cache

解决方案


在需要访问此第 3 方站点令牌的代码中,执行以下操作:

remote_token = cache.get_or_set('remote-token', get_remote_token)

get_or_set 可以采用一个可调用(函数),该函数仅在尚未填充缓存时才会执行。

更多信息在这里


推荐阅读