使用PyJWT的Jwt解码引发签名验证失败

时间:2017-10-07 23:40:57

标签: python django authentication jwt pyjwt

我在django视图中解码jwt令牌遇到了一个奇怪的问题。如果我尝试jwt.decode('encoded_token','secret'),那么我会看到“签名验证失败”消息。为了摆脱这个问题,我将verify标志设置为False:

jwt.decode('eroded_token', 'secret', verify=False)

这使解码的有效负载没有错误,但我试图找出如何成功验证令牌而不将verify标志设置为False。任何想法?

由于

1 个答案:

答案 0 :(得分:0)

这不是您要验证的实际JWT令牌-它看起来应该更像这样-三个字符串和句点串联在一起(当然,将创建为实际的JSON Web令牌):

import jwt encoded = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256') print(encoded)

您可以通过以下方式创建网络令牌:

'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg'

{{1}}

取自https://github.com/jpadilla/pyjwt