gpt4 book ai didi

python - 在python中仅从JWT获取解码的有效载荷

转载 作者:行者123 更新时间:2023-12-03 16:43:56 27 4
gpt4 key购买 nike

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

最佳答案

图书馆PyJWT可以选择 decode a JWT without verification :
如果没有这个选项,decode函数不仅解码 token ,还验证签名,您必须提供匹配的 key 。这当然是推荐的方式。
但是,如果您出于某种原因只想解码有效负载,请设置选项 verify_signature为假。

import jwt
key='super-secret'
payload={"id":"1","email":"myemail@gmail.com" }
token = jwt.encode(payload, key)
print (token)
decoded = jwt.decode(token, options={"verify_signature": False}) # works in PyJWT >= v2.0
print (decoded)
print (decoded["email"])

对于 PyJWT < v2.0 使用:
decoded = jwt.decode(token, verify=False)  # works in PyJWT < v2.0
它返回一个字典,以便您可以单独访问每个值:

b'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjEiLCJlbWFpbCI6Im15ZW1haWxAZ21haWwuY29tIn0.ljEqGNGyR36s21NkSf3nv_II-Ed6fNv_xZL6EdbqPvw'

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

myemail@gmail.com


注:还有其他 JWT libs for python同样,这也可能适用于其他库。

关于python - 在python中仅从JWT获取解码的有效载荷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59425161/

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