Beispiel #1
0
def register():
    """Register page"""
    try:
        form = RegisterForm(request.form)
        next = request.args.get('next', None)
        if request.method == 'POST' and form.validate():
            salt = hashing.hash_value(str(datetime.now()))
            password = hashing.hash_value(form.password.data, salt=salt)
            user = User(
                name=form.name.data,
                email=form.email.data,
                password=password,
                salt=salt,
                username=form.username.data
            ).post().authenticate(password=password, salt=None)
            if login_user(user):
                return redirect(
                    request.form.get('next') or url_for('sphere.home'),
                    access_token=user.access_token)
            else:
                return redirect(url_for('public.login'))
    except LogicException as e:
        message = str(e)
    return render_template('public/register.html', **locals())
Beispiel #2
0
def login():
    """Login page"""
    try:
        form = LoginForm(request.form)
        next = request.args.get('next', None)
        user = User(username=form.username.data)
        if request.method == 'POST' and form.validate():
            user.get()
            password = hashing.hash_value(form.password.data, salt=user.salt)
            user.authenticate(password=password, salt=None)
            if user.get_id() and user.is_authenticated() and user.is_active():
                if login_user(user):
                    return redirect(
                        request.form.get('next') or url_for('sphere.home'), access_token=user.access_token)
            message = 'Login failed.'
    except LogicException as e:
        message = str(e)
    return render_template('public/login.html', **locals())