Преглед на файлове

feat: 支持新版本的itsdangerous

SongZihuan преди 3 години
родител
ревизия
eab0ae46fb
променени са 1 файла, в които са добавени 6 реда и са изтрити 5 реда
  1. 6 5
      core/user.py

+ 6 - 5
core/user.py

@@ -1,6 +1,7 @@
 from flask_login import UserMixin, AnonymousUserMixin
 from werkzeug.security import generate_password_hash, check_password_hash
-from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
+from itsdangerous import URLSafeTimedSerializer as Serializer
+from itsdangerous.exc import BadData
 from typing import Optional
 
 from configure import conf
@@ -107,16 +108,16 @@ class User(UserMixin):
 
     @staticmethod
     def creat_token(email: str, passwd_hash: str):
-        s = Serializer(conf["secret-key"], expires_in=3600)
+        s = Serializer(conf["secret-key"])
         return s.dumps({"email": email, "passwd_hash": passwd_hash})
 
     @staticmethod
     def load_token(token: str):
-        s = Serializer(conf["secret-key"], expires_in=3600)
+        s = Serializer(conf["secret-key"])
         try:
-            token = s.loads(token)
+            token = s.loads(token, max_age=3600)
             return token['email'], token['passwd_hash']
-        except Exception:
+        except BadData:
             return None
 
     @staticmethod