From a2857083a8a902671c018dcdffe3136c76aba2fa Mon Sep 17 00:00:00 2001 From: Allyssa Poulin <40319407+allyssap@users.noreply.github.com> Date: Sun, 12 Mar 2023 20:22:05 -0400 Subject: [PATCH] otp password --- app/auth/routes.py | 6 +++--- app/models.py | 11 ++++++----- app/templates/.DS_Store | Bin 0 -> 6148 bytes .../auth/{opt_login.html => otp_login.html} | 0 migrations/versions/e517276bb1c2_users_table.py | 1 + 5 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 app/templates/.DS_Store rename app/templates/auth/{opt_login.html => otp_login.html} (100%) diff --git a/app/auth/routes.py b/app/auth/routes.py index 77702dc..6c83fb7 100644 --- a/app/auth/routes.py +++ b/app/auth/routes.py @@ -20,17 +20,17 @@ def login(): login_user(user, remember=form.remember_me.data) next_page = request.args.get('next') if not next_page or url_parse(next_page).netloc != '': - next_page = url_for('auth/otp_login.html') + next_page = url_for('auth.otp_login') return redirect(next_page) return render_template('auth/login.html', title=_('Sign In'), form=form) -def auth_opt(): +@bp.route('/otp', methods=['GET', 'POST']) +def otp_login(): form = OTPForm() if OTP != user.curr_otp : flash(_('Invalid OTP')) if form.validate_on_submit(): return redirect(url_for('main.index')) - return render_template('auth/otp_login.html', title=_('Enter OTP'), form=form) diff --git a/app/models.py b/app/models.py index c7741e7..c725823 100644 --- a/app/models.py +++ b/app/models.py @@ -96,7 +96,7 @@ class User(UserMixin, PaginatedAPIMixin, db.Model): password_hash = db.Column(db.String(128)) posts = db.relationship('Post', backref='author', lazy='dynamic') about_me = db.Column(db.String(140)) - otp = db.Column(db.String(4), index=True, unique=True) + otp = db.Column(db.String(4)) last_seen = db.Column(db.DateTime, default=datetime.utcnow) token = db.Column(db.String(32), index=True, unique=True) token_expiration = db.Column(db.DateTime) @@ -119,11 +119,12 @@ class User(UserMixin, PaginatedAPIMixin, db.Model): def __repr__(self): return ''.format(self.username) - def set_otp(self, otp): - self.otp = otp +## + ## def set_otp(self, otp): + ## self.otp = otp - def get_otp(self): - return self.otp + ## def get_otp(self): + ## return self.otp def set_password(self, password): self.password_hash = generate_password_hash(password) diff --git a/app/templates/.DS_Store b/app/templates/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1aa90dd38745402468a211e4eb99a4992b4db050 GIT binary patch literal 6148 zcmeH~K?=e^3`G;|qTr@Wm$UHz-e3?tK`)>n=t3%px}Kx^lL>;=wTS#c@+X-IrEk$` zL_}A&{Zgb8krr+$3kxGt4X|{^>yQ5dhkt?1r_^63}D?Xbvq^QGsbp4;roN zV~Ewg9h%}?4lPw{yJ!p_8c$Z6VqjX^MH3R3W)}t$Ab}BqY0W#k|2ObY^Z%%YDG89k zpApbz-LF@8skmF;UeD^=sM@-~p?)0U_8}^eepgFWuMFqwm0mr~V0$(NY E0L2Ru#Q*>R literal 0 HcmV?d00001 diff --git a/app/templates/auth/opt_login.html b/app/templates/auth/otp_login.html similarity index 100% rename from app/templates/auth/opt_login.html rename to app/templates/auth/otp_login.html diff --git a/migrations/versions/e517276bb1c2_users_table.py b/migrations/versions/e517276bb1c2_users_table.py index 4353272..5eb8181 100644 --- a/migrations/versions/e517276bb1c2_users_table.py +++ b/migrations/versions/e517276bb1c2_users_table.py @@ -23,6 +23,7 @@ def upgrade(): sa.Column('username', sa.String(length=64), nullable=True), sa.Column('email', sa.String(length=120), nullable=True), sa.Column('password_hash', sa.String(length=128), nullable=True), + sa.Column('otp', sa.Integer()), sa.PrimaryKeyConstraint('id') ) op.create_index(op.f('ix_user_email'), 'user', ['email'], unique=True)