gpt4 book ai didi

python - 从 jwt 获取注册算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:39 25 4
gpt4 key购买 nike

我想知道一个算法是否已经在 python JWT 中注册,因为我的应用程序在尝试两次时抛出错误。

我尝试在运行时注册 ES256 作为从 PyJWT 0.3.0 升级到 1.1.0 后抛出的异常的解决方法,例如这个:

jwt.register_algorithm(ALGO_ES256, ECAlgorithm(ECAlgorithm.SHA256))

这非常有效。现在我必须多次调用脚本,并得到一个异常,我不能注册它两次。

我考虑过在注册一个新值之前评估已经注册的值,发现算法包含在:

jwt.api._jwt_global_obj

我怎样才能访问那个全局对象?我想做类似的事情:

if ALGO_ES256 not in jwt.api._jwt_global_obj:
jwt.register_algorithm(ALGO_ES256, ECAlgorithm(ECAlgorithm.SHA256))

但它一直告诉我找不到api

的引用

最佳答案

在某些情况下,算法已经为您的 key 注册。例如。如果您安装了加密模块。

您应该先取消注册现有算法,以确保它每次都使用旧算法:

from jwt.api import _jwt_global_obj
from jwt.contrib.algorithms.py_ecdsa import ECAlgorithm

if ALGO_ES256 in _jwt_global_obj._algorithms:
jwt.unregister_algorithm(ALGO_ES256)
jwt.register_algorithm(ALGO_ES256, ECAlgorithm(ECAlgorithm.SHA256))

关于python - 从 jwt 获取注册算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29766287/

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