我在 django 视图中解码 jwt 令牌时遇到了一个奇怪的问题。如果我尝试 jwt.decode('encoded_token', 'secret') 那么我会看到“签名验证失败”消息。为了逃避这个问题,我将验证标志设置为 False:
jwt.decode('eroded_token', 'secret', verify=False)
这使解码的有效负载没有错误,但我试图弄清楚如何在不将验证标志设置为 False 的情况下成功验证令牌。有任何想法吗?
谢谢
我在 django 视图中解码 jwt 令牌时遇到了一个奇怪的问题。如果我尝试 jwt.decode('encoded_token', 'secret') 那么我会看到“签名验证失败”消息。为了逃避这个问题,我将验证标志设置为 False:
jwt.decode('eroded_token', 'secret', verify=False)
这使解码的有效负载没有错误,但我试图弄清楚如何在不将验证标志设置为 False 的情况下成功验证令牌。有任何想法吗?
谢谢
这不是您要验证的实际 JWT 令牌 - 它应该看起来更像这样 - 三个字符串与句点连接在一起(当然也可以创建为实际的 JSON Web 令牌):
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NTk1ODM2MjAsImV4cCI6MTU1OTU4MzY4MH0.P9bO39jqwB3YHf7XSo16OSLvcNMYbm__hrf70J9VzYw
您可以通过以下方式创建 Web 令牌:
import jwt
encoded = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256')
print(encoded)
输出/输出:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg
`