微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django:安全地存储身份验证令牌以与所有 Django 用户共享

如何解决Django:安全地存储身份验证令牌以与所有 Django 用户共享

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

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

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

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

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

解决方法

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

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

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

更多信息here

,

您可以将令牌存储在环境变量中。这是安全的,这个 var 的多个请求没有问题,因为默认的 django 是同步的。所以只需将它存储在 .env 文件中并使用 python_decouple 包提取它

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。