diff --git a/app/models.py b/app/models.py index d6bccb0251f9667814e5a878cea238f559572ab0..d7d33b853f8078707899253fe68ce4c2979603dd 100644 --- a/app/models.py +++ b/app/models.py @@ -1,4 +1,6 @@ +from flask import current_app from flask_login import UserMixin +from itsdangerous import TimedJSONWebSignatureSerializer as Serializer from werkzeug.security import generate_password_hash, check_password_hash from . import db from . import login_manager @@ -26,6 +28,10 @@ class User(UserMixin, db.Model): password_hash = db.Column(db.String(128)) + def generate_reset_token(self, expiration=3600): + s = Serializer(current_app.config['SECRET_KEY'], expiration) + return s.dumps({'reset': self.id}).decode('utf-8') + @property def password(self): raise AttributeError('password is not a readable attribute')