Esempio n. 1
0
def login_post():
    r = flask.request

    email = r.form.get('email', '').lower().strip()
    password = r.form.get('password', '').strip()

    if not email or not password:
        return {
            'email': email,
            'password': password,
            'error': "Some required fields are missing."
        }

    # TODO: Validate the user
    user = user_service.login_user(email, password)
    if not user:
        return {
            'email': email,
            'password': password,
            'error': "The account does not exist or the password is wrong."
        }

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
Esempio n. 2
0
def register_post():
    r = flask.request

    name = r.form.get('name')
    email = r.form.get('email', '').lower().strip()
    password = r.form.get('password', '').strip()

    if not name or not email or not password:
        return {
            'name': name,
            'email': email,
            'password': password,
            'error': "Some required fields are missing."
        }

    # TODO: Create the user
    user = user_service.create_user(name, email, password)
    if not user:
        return {
            'name': name,
            'email': email,
            'password': password,
            'error': "A user with that email already exists."
        }

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
Esempio n. 3
0
def register_post():
    data = request_dict.create(default_val='')

    name = data.name
    email = data.email.lower().strip()
    password = data.password.strip()

    if not name or not email or not password:
        return {
            'name': name,
            'email': email,
            'password': password,
            'error': "Some required fields are missing.",
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }

    user = user_service.create_user(name, email, password)
    if not user:
        return {
            'name': name,
            'email': email,
            'password': password,
            'error': "A user with that email already exists.",
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
def login_post():
    data = request_dict.create(default_val='')

    email = data.email.lower().strip()
    password = data.password.strip()

    if not email or not password:
        return {
            'email': email,
            'password': password,
            'error': "Some required fields are missing.",
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }

    user = user_service.login_user(email, password)
    if not user:
        return {
            'email': email,
            'password': password,
            'error': "The account does not exist or the password is wrong.",
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
Esempio n. 5
0
def login_post():
    data = request_dict.create()

    email = data.email.lower().strip()
    password = data.password.strip()

    if not email or not password:
        return {
            'email': email,
            'password': password,
            'error': 'Some required fields are missing',
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }
    # TODO: Validate the user
    user = user_service.login_user(email, password)
    if not user:
        return {
            'email': email,
            'password': password,
            'error': 'The account does not exist or the password is wrong',
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }
    # TODO: log in browser as a session
    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)
    return resp
def register_post():
    r = flask.request

    name = r.form.get("name")
    email = r.form.get("email", "").lower().strip()
    password = r.form.get("password", "").strip()

    if not name or not email or not password:
        return {
            "error": "Some required fields are missing",
            "name": name,
            "email": email,
            "password": password
        }
    user = user_service.create_user(name, email, password)
    if not user:
        return {
            "error": "A user with that email already exist",
            "name": name,
            "email": email,
            "password": password
        }

    resp = flask.redirect("/account")
    cookie_auth.set_auth(resp, user.id)
    return resp
Esempio n. 7
0
def register_post():
    r = flask.request

    name = r.form.get('name')
    email = r.form.get('email', '').lower().strip()
    password = r.form.get('password', '').strip()

    if not name or not email or not password:
        return {
            'name': name,
            'email': email,
            'password': password,
            'error': 'Some required fields are missing',
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }
    user = user_service.create_user(name, email, password)
    if not user:
        return {
            'name': name,
            'email': email,
            'password': password,
            'error': 'A user with that email already exists',
            'user_id': cookie_auth.get_user_id_via_auth_cookie(flask.request),
        }
    # TODO: log in browser as a session
    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)
    return resp
 def login_user(self) -> flask.Response:
     self.user = login_user(self.email_address, self.password)
     if self.user:
         # Redirect to the account page, but do it as a logged in session (where user has a cookie telling us we're in a
         # session)
         resp = flask.redirect("/account")
         cookie_auth.set_auth(resp, self.user.id)
         return resp
     else:
         self.error = "Invalid email address or password"
         return flask.render_template("/account/login.html", **self.to_dict())
Esempio n. 9
0
def login_post():
    vm = LoginViewModel()
    vm.validate()
    if vm.error:
        return vm.to_dict()

    user = user_service.login_user(vm.email, vm.password)
    if not user:
        vm.error = "The account does not exist or the password is wrong."
        return vm.to_dict()

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
def register_post():
    vm = RegisterViewModel()
    vm.validate()

    if vm.error:
        return vm.to_dict()

    user = user_service.create_user(vm.name, vm.email, vm.password)
    if not user:
        vm.error = 'The account could not be created'
        return vm.to_dict()

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
def register_post():
    vm=RegisterViewModel()
    vm.validate()

    if vm.error:
        return vm.to_dict()

    user = user_service.create_user(vm.name, vm.email, vm.password)
    if not user:
        vm.error="A user with that email already exists."
        return vm.to_dict()

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp
Esempio n. 12
0
def register_post():
    view_model = RegisterViewModel()
    view_model.validate()

    if view_model.error:
        return view_model.to_dict()

    user = user_service.create_user(view_model.name, view_model.email,
                                    view_model.password)

    if not user:
        return view_model.to_dict()

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)
    return resp
Esempio n. 13
0
def register_post():
    # ViewModel gets name/email/password from flask.request, checks whether they're filled out, and if so tries to
    # register a user.  We just interpret the results here.
    # These are broken into a few calls here, although originally I had it as all in __init__.  This is more clear about
    # what is happening though

    vm = RegisterViewModel()

    vm.validate()
    if vm.error:
        return flask.render_template("/account/register.html", **vm.to_dict())

    vm.create_user()
    if vm.error:
        return flask.render_template("/account/register.html", **vm.to_dict())

    resp = flask.redirect("/account")
    cookie_auth.set_auth(resp, vm.user.id)
    return resp
def login_post():
    vm = LoginViewModel()
    vm.validate()

    if vm.error:
        log.notice(f"User could not log in, error: {vm.email} - {vm.error}.")
        return vm.to_dict()

    user = user_service.login_user(vm.email, vm.password)
    if not user:
        vm.error = "The account does not exist or the password is wrong."
        log.notice(f"User could not log in, error: {vm.error}.")
        return vm.to_dict()

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    log.notice(f"User SUCCESSFULLY logged in account: {user.name} - {user.email}.")
    return resp
def login_post():
    r = flask.request
    email = r.form.get("email")
    password = r.form.get("password")

    if not email or not password:
        return {
            "error": "Some required fields are missing",
            "email": email,
            "password": password
        }
    user = user_service.login_user(email, password)
    if not user:
        return {
            "error": "The user does not exist or the password is wrong",
            "email": email,
            "password": password
        }
    resp = flask.redirect("/account")
    cookie_auth.set_auth(resp, user.id)
    return resp
def register_post():
    log.notice(f"Anonymous user is registering for a new account")

    vm = RegisterViewModel()
    vm.validate()

    if vm.error:
        log.notice(f"User could not create account, error: {vm.error}.")
        return vm.to_dict()

    user = user_service.create_user(vm.name, vm.email, vm.password)
    if not user:
        vm.error = 'The account could not be created'
        log.notice(f"User could not create account, error: {vm.error}.")
        return vm.to_dict()

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    log.notice(f"User SUCCESSFULLY created account: {user.name} - {user.email}.")
    return resp
Esempio n. 17
0
def auth():
    args = flask.request.args

    if flask.request.args.get('state') != session.get("state"):
        return flask.redirect('/')  # No-OP. Goes back to Index page
    if "error" in flask.request.args:  # Authentication/Authorization failure

        return f"There was an error logging in: Error: {args.get('error')}, details: {args.get('error_description')}."
    if flask.request.args.get('code'):
        cache = session_cache.load_cache()
        result = msal_builder.build_msal_app(
            cache=cache).acquire_token_by_authorization_code(
                flask.request.args['code'],
                scopes=app_config.
                SCOPE,  # Misspelled scope would cause an HTTP 400 error here
                redirect_uri='http://localhost:5006/account/auth')
        if "error" in result:
            return f"There was an error logging in: Error: {args.get('error')}, details: {args.get('error_description')}."

        session_cache.save_cache(cache)
        # 'oid': '257af28c-d791-4287-bf95-b67578dae57e',
        claims = result['id_token_claims']

        email = claims.get('emails', ['NONE'])[0].strip().lower()
        first_name = claims.get('given_name')
        last_name = claims.get('family_name')

        user = user_service.find_user_by_email(email)
        if not user:
            user = user_service.create_user(f'{first_name} {last_name}', email,
                                            str(uuid.uuid4()))

        resp = flask.redirect('/account')
        cookie_auth.set_auth(resp, user.id)
        return resp

    return flask.redirect('/')
Esempio n. 18
0
def login_post():
    r = flask.request
    email = r.form.get('email', '').lower().strip()
    password = r.form.get('password', '').strip()

    if not email or not password:
        return {
            'error': 'Some required fields are missing.',
            'email': email,
            'password': password
        }

    user = user_service.login_user(email, password)
    if not user:
        return {
            'error': 'Account does not exist, or password is incorrect',
            'email': email,
            'password': password
        }

    resp = flask.redirect('/account')
    cookie_auth.set_auth(resp, user.id)

    return resp