在python中仅从JWT获取解码负载

在python中仅从JWT获取解码负载,python,jwt,Python,Jwt,是否有一种很好的方法(可能使用一些库)只从保存为字符串变量的JWT获取有效负载? 除了手动解析第一个点和第二个点之间的内容,然后解码之外。该库还可以选择: 如果没有此选项,decode函数不仅会解码令牌,还会验证签名,您必须提供匹配的密钥。这当然是推荐的方法 但是,如果出于任何原因,只想解码有效负载,请将选项verify\u signature设置为false 导入jwt key='super-secret' 有效负载={“id”:“1”,“电子邮件”:myemail@gmail.com" }

是否有一种很好的方法(可能使用一些库)只从保存为字符串变量的JWT获取有效负载? 除了手动解析第一个点和第二个点之间的内容,然后解码之外。

该库还可以选择:

如果没有此选项,
decode
函数不仅会解码令牌,还会验证签名,您必须提供匹配的密钥。这当然是推荐的方法
但是,如果出于任何原因,只想解码有效负载,请将选项
verify\u signature
设置为false

导入jwt
key='super-secret'
有效负载={“id”:“1”,“电子邮件”:myemail@gmail.com" }
令牌=jwt.encode(有效负载、密钥)
打印(令牌)
decoded=jwt.decode(token,options={“verify_signature”:False})#在PyJWT>=v2.0中工作
打印(解码)
打印(已解码[“电子邮件”])
对于PyJWT
decoded = jwt.decode(token, verify=False)  # works in PyJWT < v2.0
decoded=jwt.decode(token,verify=False)#在PyJWT
它返回一个字典,以便您可以单独访问每个值:

b'EYJ0Exaiioijkv1qilchiijiuzi1nij9.EYJpzci6ijeilcjlbwfpbci16zw1hawxaz21hawuy29tin0.ljeqgngyr36s2nksf3nv_II-ed6fnvxzl6edbqpvw'

{'id':'1','email':'myemail@gmail.com“}

myemail@gmail.com

注意:还有其他库,这可能也适用于其他库。

库有以下选项:

如果没有此选项,
decode
函数不仅会解码令牌,还会验证签名,您必须提供匹配的密钥。这当然是推荐的方法
但是,如果出于任何原因,只想解码有效负载,请将选项
verify\u signature
设置为false

导入jwt
key='super-secret'
有效负载={“id”:“1”,“电子邮件”:myemail@gmail.com" }
令牌=jwt.encode(有效负载、密钥)
打印(令牌)
decoded=jwt.decode(token,options={“verify_signature”:False})#在PyJWT>=v2.0中工作
打印(解码)
打印(已解码[“电子邮件”])
对于PyJWT
decoded = jwt.decode(token, verify=False)  # works in PyJWT < v2.0
decoded=jwt.decode(token,verify=False)#在PyJWT
它返回一个字典,以便您可以单独访问每个值:

b'EYJ0Exaiioijkv1qilchiijiuzi1nij9.EYJpzci6ijeilcjlbwfpbci16zw1hawxaz21hawuy29tin0.ljeqgngyr36s2nksf3nv_II-ed6fnvxzl6edbqpvw'

{'id':'1','email':'myemail@gmail.com“}

myemail@gmail.com


注意:还有其他的LIB,这在其他LIB中也是可能的。

做出你的选择:伙计,这就是我正在努力解决的问题。所有这些库都提供了全面的方法。我所要做的就是像jwt.io允许我在将jwt粘贴到他们的工具中之后那样轻松地获得一个好的有效负载体。所有这些库都提供了全面的方法。我所要做的就是像jwt.io允许我在将jwt粘贴到他们的工具中之后,轻松获得一个好的有效负载体。如果我也想得到头呢?就是这样做的:jwt.get_unverified_header(token)如果我也想得到头呢?就是这样做的:jwt.get_unverified_header(token)