Пример #1
0
 def __init__(self, password, **kwargs):
     super(User, self).__init__(**kwargs)
     self.push_notifications = 1
     self.email_notifications = 1
     # Generate the random salt and then use this when hashing the password.
     self.password_salt = uuid.uuid4().__str__()
     self.password_hash = bcrypt.generate_password_hash(
         self.password_salt + password).decode('utf-8')
Пример #2
0
def add_user():
    form = AddUserForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = Users(email=form.email.data,
                     password=hashed_password,
                     is_admin=form.is_admin.data)
        db.session.add(user)
        db.session.commit()
        flash(f'You have added the user {user.email}!', 'success')
        return redirect(url_for('home'))
    return render_template('user_add.html', form=form)
Пример #3
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = Users(email=form.email.data, password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f"Your account has been created! You are now able to login",
              'success')
        return redirect(url_for('home'))
    return render_template('register.html', title='Register!', form=form)
Пример #4
0
def register():
    req = request.json
    auth = request.authorization
    user = User.query.filter_by(username=req["username"]).first()
    if user:
        return make_response("Username already exists. Try again.", 400)
    
    entered_password_1 = req["password1"]
    entered_password_2 = req["password2"]
    if entered_password_1 == entered_password_2:
        new_user = User(username = req["username"],password = bcrypt.generate_password_hash(entered_password_1.encode("utf-8")).decode("utf-8"))
        db.session.add(new_user)
        db.session.commit()
        token = jwt.encode({'id': new_user.id, 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=60)}, os.getenv("SECRET"))
        return jsonify({'token' : token.decode("ascii")})
        
    else:
        return make_response("Sorry, passwords must match", 400)
Пример #5
0
 def _set_password(self, plaintext):
     self._password = bcrypt.generate_password_hash(plaintext)