2016-07-11 12 views
0

現在、ユーザーの認証を行っています。私はこのブログ - RESTful Authentication with Flaskをチェックアウトし、私の目的に役立つと信じていたコードを生成するための手順に従った。私は特定のユースケースに対してTimed Jsonシリアライザクラスを使いたいと思っていました。以下では、そのクラスのオブジェクトを作成してトークンを生成し、そのトークンでデータをロードしようとしています。危険なファイルからJSONをロードする際のエラーTimedJSONSerializerトークン

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)) 

私は、次のコールバックを取得:

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 

私はちょうど時間の満了にトークンを作成して、それは私にトークンが一致していないことを示しBadSignatureを与えます。希望する出力は:

{"user_id" : "fake1"} 

私を助けてください。

答えて

0

パッケージitsdangerousをアンインストールして再インストールする必要がありました。pipです。使用声明は以下の通りであった。続い

pip uninstall itsdangerous 

pip install itsdangerous 

どうやら、ファイルは、それが正常に動作しない原因何とか壊れていました。

関連する問題