Пример #1
0
def reset_token(token):
    #if the user is logged in send him to home page
    if current_user.is_authenticated:
        return redirect(url_for('home'))
        #else --verify the token,the below verify_reset_token() is written in models.py
        #which takes 'token' as  a argument.
    user = User.verify_reset_token(token)
    if user is None:
        #if user doesnt find token redirect hime to reset_request
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        ''' checking for valid_submition'''
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        '''encoding and hashing the password'''
        user.password = hashed_password  #storing it into new password
        db.session.commit()  #adding to database
        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)
Пример #2
0
def reset_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():
        # hasing New Users password
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        # adding New User to the Datbase
        user.password = hashed_password
        db.session.commit()
        # success is a bootstrap message
        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):
    try:
        if current_user.is_authenticated:
            return redirect(url_for('home'))
    except:
        pass
    user = User_Model.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')
        old = {
            'username': user.username,
            'email': user.email,
        }
        new = {
            'username': user.username,
            'email': user.email,
            'password': hashed_password
        }
        updatePassword(old, new)
        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)
Пример #4
0
def reset_token(token):
	if current_user.is_authenticated:
		return redirect(url_for('home'))

	user = User.verify_reset_token(token)
	form = ResetPasswordForm()
	if form.validate_on_submit():
		user.password = form.password.data
		db.session.commit()
		flash('Your password has been updated', 'success')
		return redirect(url_for('login'))
	
	return render_template('reset_token.html', title='Reset Password', form=form)
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("Invalid 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()
		return redirect(url_for('login'))
	return render_template('reset_token.html', title="Reset Password", form = form)
Пример #6
0
def reset_request():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        send_reset_email(user)
        flash(
            'An email has been sent with instructions to reset your password.',
            'info')
        return redirect(url_for('login'))
    return render_template('reset_request.html',
                           title='Reset Password',
                           form=form)
Пример #7
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    user = User.verify_token_reset(token)
    if user is None:
        flash('Это недействительный или просроченный токен', '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('Ваш пароль был обновлен! Теперь вы можете войти в систему', 'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html', title='Сброс пароля', form=form)
Пример #8
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('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(f'Password updated, you can login', 'success')
        return redirect(url_for('login'))
    return render_template('home/reset_token.html', title='Reset Password', form=form)
Пример #9
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)
Пример #10
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('Token invalido o expirado', '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(f'La clave fue reiniciada', 'success') 
        return redirect(url_for('login'))
    return render_template('reset_token.html', title='Reiniciar contraseña', form=form)     
Пример #11
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('The token is either invalid or expired')
        return redirect(url_for('request_reset'))
    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)
Пример #12
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('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)
        user.password=hashed_password
        db.session.commit()
        flash('Your password has been updated Successfully!!', 'success')
        return redirect(url_for('login'))
    return render_template('reset_password.html', form=form, title='Reset Password')
Пример #13
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(f"Your password has been updated. You can now successfully log in !", "success")
        return redirect(url_for("login"))
    return render_template("reset_token.html", title="Reset Password", form = form)
Пример #14
0
def reset_token(token):  # nous appelons pour renitilaser mot de passe 
#user doit etre login
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    user = User.verify_reset_token(token)  #nous verifons le token 
    if user is None:
        flash('That is an invalid or expired token', 'warning') #lorsque le nombre de second a dpasser 
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    #si cela a etait valider
    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)
Пример #15
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('The token is invalid or it has expired', 'warning')
    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 can now Log In ',
              'success')
    return render_template('reset_token.html',
                           title="Reset Password",
                           form=form)
Пример #16
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(f'Your Password Has Beee Updates! You are now able to log in', 'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html',title="Reset Password",form=form)
Пример #17
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 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(f'Your password has been changed', 'success')
    return render_template('reset_token.html',
                           title='Reset password',
                           form=form)
Пример #18
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('Geçersiz kod', '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('Şifreniz değiştirildi, giriş yapabilirsiniz.', 'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title='Şifreyi sıfırla',
                           form=form)
Пример #19
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    # Verify the token (we have user here already)
    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'))
    # Now the user is valid then show him the form
    form = ResetPasswordForm()
    if form.validate_on_submit():
        # now hash the new password also
        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)
Пример #20
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('blog'))
    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')
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title='Not working at the moment',
                           form=form)
Пример #21
0
def reset_token(token):

    if current_user.is_authenticated:
        logger.debug(
            f"Logged user tried to reset password: {current_user.email}. IP: {request.remote_addr}"
        )
        flash("User already logged in!", "danger")
        return redirect(url_for("home"))

    user = User.verify_reset_token(token)
    if user is None:
        logger.debug(
            f"User gave an expired token: {current_user.email}. IP: {request.remote_addr}"
        )
        flash("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")
        flash(f"Account updated!", "success")

        try:
            user.password = hashed_password
            db.session.commit()

        except Exception as e:
            flash("Unexpected error at validating token. Please try again!",
                  "danger")
            logger.warning(
                f"Token could not be validated. User: {user.email}. IP: {request.remote_addr}. Error: {e}"
            )
            return redirect(url_for("home"))

        logger.debug(
            f"Password reset successfully for: {current_user.email}. IP: {request.remote_addr}"
        )
        return redirect(url_for("login"))

    return render_template("reset_token.html",
                           title="Reset Password",
                           form=form)
Пример #22
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/expired token', 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        #Here we add the user to the database
        #utf-8 is used to convert the hash into string
        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. Please log in', 'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Пример #23
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 ivalid or expired token', 'warning')
        return redirect(url_for('reset password'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_pasword = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_pasword
        db.session.commit()
        flash(
            f'Your account has been update! You are now log in  {form.username.data}!',
            'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Пример #24
0
def reset_password(token):
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    user = User.validate_token(token)
    print(user)
    if user is None:
        flash('Invalid token or expired.Please reset again', '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('Password change successfully for {}'.format(user.username),
              'success')
        return redirect(url_for('login'))
    return render_template('reset_password.html',
                           title="Change Password",
                           form=form)
Пример #25
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 render_template("reset_request.html")
    form = ResetPasswordForm()
    return render_template("reset_token.html",
                           title="Reset Password",
                           form=form)
Пример #26
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    user = User.verify_reset_token(token)
    if not user:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset'))
    form = ResetPasswordForm()
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Пример #27
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('重置密码的请求非法或过期!', '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(f'密码已经更新,你可以使用新密码进行登录', 'success')
        return redirect(url_for('login'))

    return render_template('reset_token.html', title='重置密码', form=form)
Пример #28
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('Ce lien n\'est plus valide !', '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(
            'Votre mots de passe à bien été changé! Vous pouvez maintenant vous connecter.',
            'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Пример #29
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)  #return user obj, else None
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset_reqeust'))

    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_pw  # no need to add, just update
        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)
Пример #30
0
def reset_token():
    if current_user.is_authenticated:
        return redirect(url_for('main.home_page'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('This token is invalid or expired !', 'warning')
        return redirect(url_for('users.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(
            f' your password has been updated successfully . you can log in now .',
            "success")
        return redirect(url_for('main.home_page'))
    return render_template('reset_token.html',
                           title='request reset password ',
                           form=form)
Пример #31
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('hello'))

    user = User.verify_reset_token(token)
    if user is None:
        flash('This is an invalid or expired token.', 'warning')
        return redirect(url_for('reset_request'))

    form = ResetPasswordForm()
    if form.validate_on_submit():  # validates the form on submission
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_pw
        db.session.commit()
        flash('Your password has been reset. You are now able to login.',
              'success')  # flash message of category=success
        return redirect(url_for('login'))
    return render_template('reset_password.html',
                           title='Reset Password',
                           form=form)