Пример #1
0
def reset_password(token):
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    user = User.verify_reset_password_token(token)
    if not user:
        return redirect(url_for('index'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        user.set_password(form.password.data)
        db.session.commit()
        flash(_('Your password has been reset.'))
        return redirect(url_for('login'))
    return render_template('reset_password.html', form=form)
Пример #2
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! You are now able to log in', 'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html', title='Reset Password', form=form)
Пример #3
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    user = Users.verify_reset_token(token)
    if user is None:
        flash('Your token is invalid or expired', 'danger')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! Now you can log in', 'primary')
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Пример #4
0
def reset_password(token):
    #flash(token)
    if current_user.is_authenticated:
        flash("user is already authenticated")
        return redirect(url_for('index'))
    user = User.verify_reset_password_token(token)
    if user is None:
        flash("user not found")
        return redirect(url_for('index'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        user.set_password(form.password1.data)
        db.session.commit()
        flash("Your password has been reset")
        return redirect(url_for('login'))
    return render_template('reset_password.html',
                           title="Reset Password",
                           form=form,
                           current_user=current_user)
Пример #5
0
def reset_token(token):
    '''Reset password route'''

    if current_user.is_authenticated:
        return redirect(url_for('forum.index_page', _external=True))

    user = User.verify_password_reset_token(token)
    if user is None:
        flash('Invalid/Expired token', 'warning')
        return redirect(url_for('auth.request_reset_password', _external=True))

    form = ResetPasswordForm()
    if form.validate_on_submit():
        new_passwd = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = new_passwd
        db.session.commit()
        flash('Your password has been reset!', 'success')
        return redirect(url_for('auth.login_route', _external=True))
    return render_template('auth/reset_password_token.html', form=form)
Пример #6
0
def reset_password(token):
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    s = Serializer(app.config['SECRET_KEY'], '1800')
    try:
        user_id = s.loads(token)['user_id']
    except:
        user_id = None
    if not (user_id):
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset_password_request'))
    user = User.objects(user_id=user_id).first()
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        user.save()
        flash('Your password has been updated! You are now able to log in',
              'success')
        return redirect(url_for('login'))
    return render_template('reset_password.html', form=form)