gpt4 book ai didi

python - 如何在 python flask 应用程序中安全地共享全局变量(缓存的公共(public)证书)

转载 作者:行者123 更新时间:2023-11-28 19:28:48 27 4
gpt4 key购买 nike

我需要缓存一个公共(public)证书以使用它来验证每个请求的 JWT 访问 token 。此公共(public)证书经常更改,因此我实现了一个后台功能,该功能定期联系 API 以检索此证书并将其保存在内存中。

鉴于 Flask 运行多个线程,将全局变量指向此证书是否被认为是安全的做法?

定义此变量以便我的资源类中的函数可以检索此变量的正确方法是什么?

project
|- app.py
|- db.py
|- models
|- client.py
|- resources
|- client.py

最佳答案

您可以使用redis来存储公共(public)证书,并为您的应用程序提供一个内部API来刷新和获取它。

@app.route("/public_certificate", methods=["GET"])
def get_public_certificate():

public_certificate = None

try:
expires_in = redis.ttl("public_certificate")

if expires_in <= TIMEOUT:
refresh_public_certificate()

public_certificate = redis.get("public_certificate")
except:
pass
finally:
return public_certificate

关于python - 如何在 python flask 应用程序中安全地共享全局变量(缓存的公共(public)证书),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50297396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com