Ich arbeite derzeit an der Authentifizierung meiner Benutzer. Ich habe diesen Blog ausgecheckt - RESTful Authentication with Flask - und bin seinen Schritten gefolgt, um ein Stück Code zu produzieren, von dem ich glaubte, dass es meinem Zweck dienen würde. Ich wollte die Timed Json Serializer-Klasse für meinen speziellen Anwendungsfall verwenden. Im Folgenden erstelle ich ein Objekt dieser Klasse, erzeuge ein Token und versuche, die Daten damit zu laden.Fehler beim Laden von JSON aus itsdangerous Datei TimedJSONSerializer Token
from itsdangerous import TimedJSONWebSignatureSerializer
user_id = 'fake1'
s = TimedJSONWebSignatureSerializer(parser_app.config['SECRET_KEY'], expires_in=3600)
token = s.dumps({'user_id' : user_id})
print(token)
print (s.loads(token))
bekomme ich folgenden Rückruf:
Traceback (most recent call last):
eyJhbGciOiJIUzI1NiIsImV4cCI6MTQ2ODI3MjU3MSwiaWF0IjoxNDY4MjY4OTcxfQ.eyJ1c2VyX2lkIjoiZmFrZTEifQ.Ch8y6BDMIIBdIGM0lmjdAimINvP3PnUmBpOp-jDW18w
File "C:/Users/vaibhav/PycharmProjects/Coding/Coding.py", line 6, in <module>
print (s.loads(token))
File "C:\Users\vaibhav\Anaconda\lib\site-packages\itsdangerous.py", line 798, in loads
self, s, salt, return_header=True)
File "C:\Users\vaibhav\Anaconda\lib\site-packages\itsdangerous.py", line 752, in loads
self.make_signer(salt, self.algorithm).unsign(want_bytes(s)),
File "C:\Users\vaibhav\Anaconda\lib\site-packages\itsdangerous.py", line 377, in unsign
payload=value)
itsdangerous.BadSignature: Signature 'Ch8y6BDMIIBdIGM0lmjdAimINvP3PnUmBpOp-jDW18w' does not match
Ich habe gerade das Token mit einem Ablauf einer Stunde erstellt und es gibt mir einen BadSignature, das anzeigt, dass das Token nicht übereinstimmt. Die gewünschte Ausgabe wäre:
{"user_id" : "fake1"}
Bitte helfen Sie mir.