Пример #1
0
 def setUpFactories(self):
     User.create({
         'name': 'testuser123',
         'email': '*****@*****.**',
         'password': bcrypt_password('secret'),
         'second_password': bcrypt_password('pass123'),
     })
Пример #2
0
 def update(self, request: Request):
     user = AUTH['model'].where('remember_token',
                                request.param('token')).first()
     if user:
         user.password = bcrypt_password(request.input('password'))
         user.save()
         return request.redirect('/login')
Пример #3
0
    def update(self, request: Request, validate: Validator):
        errors = request.validate(
            validate.required("password"),
            # TODO: only available in masonite latest versions (which are not compatible with Masonite 2.2)
            validate.strong(
                "password",
                length=8,
                special=1,
                uppercase=1,
                # breach=True checks if the password has been breached before.
                # Requires 'pip install pwnedapi'
                breach=False,
            ),
        )

        if errors:
            return request.back().with_errors(errors)

        user = (
            AUTH["guards"]["web"]["model"]
            .where("remember_token", request.param("token"))
            .first()
        )
        if user:
            user.password = bcrypt_password(request.input("password"))
            user.save()
            return request.redirect("/login")
 def update(self, request: Request):
     user = AUTH["model"].where("remember_token",
                                request.param("token")).first()
     if user:
         user.password = bcrypt_password(request.input("password"))
         user.save()
         return request.redirect("/login")
    def store(self, request: Request, mail_manager: MailManager):
        ok, errors = self.validate_input(request.all())

        if not ok:
            display = ''
            for error in errors:
                request.session.flash(
                    error, '{0} {1} \n\n\n'.format(error.title(),
                                                   errors[error][0]))
            return request.redirect('/register')

        user = auth.AUTH['model'].create(
            name=request.input('name'),
            password=bcrypt_password(request.input('password')),
            email=request.input('email'),
        )

        if isinstance(user, MustVerifyEmail):
            user.verify_email(mail_manager, request)

        # Login the user
        if Auth(request).login(request.input(auth.AUTH['model'].__auth__),
                               request.input('password')):
            # Redirect to the homepage
            return request.redirect('/')

        # Login failed. Redirect to the register page.
        return request.redirect('/register')
Пример #6
0
    def store(self, request: Request):
        """Register the user with the database.

        Arguments:
            request {masonite.request.Request} -- The Masonite request class.

        Returns:
            masonite.request.Request -- The Masonite request class.
        """

        password = bcrypt_password(request.input('password'))

        auth.AUTH['model'].create(
            name=request.input('name'),
            password=password,
            email=request.input('email'),
        )

        # Login the user
        if Auth(request).login(request.input(auth.AUTH['model'].__auth__),
                               request.input('password')):
            # Redirect to the homepage
            return request.redirect('/home')

        # Login failed. Redirect to the register page.
        return request.redirect('/register')
Пример #7
0
    def update(self, request: Request, validate: Validator):

        errors = request.validate(
            validate.required("password"),
            validate.confirmed("password"),
            validate.length(
                "password",
                min=config("auth.password_min_length"),
                max=config("auth.password_max_length"),
            ),
        )

        if errors:
            request.session.flash("error", errors)
            return request.back()

        user = AUTH["model"].where("remember_token",
                                   request.param("token")).first()
        if user:
            user.password = bcrypt_password(request.input("password"))
            user.remember_token = None
            user.save()

            if request.user():
                auth.sign_out()

            request.session.flash(
                "success", "Your password has been reset. Login below.")
            return request.redirect("/users/sign-in")
Пример #8
0
    def store(self, request: Request, mail_manager: MailManager):
        """Register the user with the database.

        Arguments:
            request {masonite.request.Request} -- The Masonite request class.

        Returns:
            masonite.request.Request -- The Masonite request class.
        """
        user = auth.AUTH['model'].create(
            name=request.input('name'),
            password=bcrypt_password(request.input('password')),
            email=request.input('email'),
        )

        if isinstance(user, MustVerifyEmail):
            user.verify_email(mail_manager, request)

        # Login the user
        if Auth(request).login(request.input(auth.AUTH['model'].__auth__), request.input('password')):
            # Redirect to the homepage
            return request.redirect('/home')

        # Login failed. Redirect to the register page.
        return request.redirect('/register')
Пример #9
0
    def store(self, queue: Queue):
        """ Register a new user """

        validate = RegisterValidator(self.request).register()
        if validate.check():
            validate.check_exists()

        if not validate.check():
            self.request.session.flash('validation', json.dumps(validate.errors()))
            return self.request.redirect_to('register')

        # register the user
        password = bcrypt_password(self.request.input('password'))

        auth.AUTH['model'].create(
            name=self.request.input('username'),
            password=password,
            email=self.request.input('email'),
        )

        # login the user
        # redirect to the homepage
        if Auth(self.request).login(self.request.input(auth.AUTH['model'].__auth__), self.request.input('password')):
            queue.push(WelcomeEmailJob, args=[self.request.input('email')])
            return self.request.redirect('/home')

        return self.request.redirect('/register')
Пример #10
0
    def register(self, user):
        """Register the user.

        Arguments:
            user {dict} -- A dictionary of user data information.
        """
        user['password'] = bcrypt_password(user['password'])
        self.auth_model.create(**user)
Пример #11
0
 def check_old_encryption(self, request):
     user = User.where('email', request.input('username')).where(
         'password',
         hashlib.sha1(request.input('password').encode(
             'utf-8')).hexdigest()).first()
     if user:
         # login successful
         user.password = bcrypt_password(request.input('password'))
         user.save()
Пример #12
0
    def create(self, request: Request):
        user_data = request.input('user')
        try:
            user = User.create(email=user_data['email'],
                               password=bcrypt_password(user_data['password']),
                               bio=None,
                               image=None,
                               token=None)
        except Exception as error:
            return {'error': error.message}

        return {'user': user.serialize()}
    def handle(self):

        name = None
        default_name = 'Anonymous' if os.environ.get("USER") == None else os.environ.get("USER")
        while name == None:
            name = input('Username (leave blank to use '+ default_name +'):')
            if name == '':
                name = default_name
        self.line('<comment>'+name+'</comment>')

        email = None
        while email == None:
            email = input('Email address:')
            EMAIL_REGEX = re.compile(r"^[A-Za-z0-9\.\+_-]+@[A-Za-z0-9\._-]+\.[a-zA-Z]*$")

            if not EMAIL_REGEX.match(email):
                self.line('<error>Error: Enter a valid email address.</error>')
                email = None
        self.line('<comment>'+email+'</comment>')

        password = None
        password_check = None
        while password == None:
            password = input('Password:'******'<error>This password is too short. It must contain at least 8 character.</error>')
                password = None
            elif re.search('[a-z]',password) is None:
                self.line('<error>Make sure your password has a lower case letter in it.</error>')
                password = None
            elif re.search('[0-9]',password) is None:
                self.line('<error>Make sure your password has a number in it.</error>')
                password = None
            elif re.search('[A-Z]',password) is None:
                self.line('<error>Make sure your password has a capital letter in it.</error>')
                password = None

            if password:
                password_check = input('Password (again):')
                if password != password_check:
                    self.line("<error>Error: Your passwords didn't match.</error>")
                    password = None

        password = bcrypt_password(password)
        new_user = {'name': name, 'email': email, 'password': password}

        AUTH['model'].insert(new_user)

        self.line('<info>Superuser created successfully.</info>')
Пример #14
0
 def run(self):
     """
     Run the database seeds.
     """
     admin_users = []
     for i in range(100):
         admin_users.append({
             'name': 'user' + str(i),
             'email': 'test' + str(i) + '@gmail.com',
             'password': bcrypt_password('Password' + str(i)),
             'permission':
             2 if i % 2 == 0 else 3  #even→2(staff), odd→3(user)
         })
     AdminUser.insert(admin_users)
Пример #15
0
    def create(self):
        errors = self.request.validate(
            required(['user.email', 'user.password', 'user.username']),
        )

        if errors:
            self.request.status(422)
            return {'errors': errors}

        user = User.create(
            email=self.request.input('user.email'),
            password=bcrypt_password(self.request.input('user.password')),
            username=self.request.input('user.username'),
            bio=None,
            image=None,
            token=None
        )

        self.request.status(201)
        return {'user': user.serialize()}
Пример #16
0
    def update(self, request: Request, validate: Validator):
        errors = request.validate(
            validate.required('password'),
            # TODO: only available in masonite latest versions (which are not compatible with Masonite 2.2)
            validate.strong(
                'password',
                length=8,
                special=1,
                uppercase=1,
                # breach=True checks if the password has been breached before.
                # Requires 'pip install pwnedapi'
                breach=False))

        if errors:
            return request.back().with_errors(errors)

        user = AUTH['guards']['web']['model'].where(
            'remember_token', request.param('token')).first()
        if user:
            user.password = bcrypt_password(request.input('password'))
            user.save()
            return request.redirect('/login')
Пример #17
0
 def admin_users_factory(self, faker):
     return {
         'name': 'admin',
         'email': '*****@*****.**',
         'password': bcrypt_password('admin')
     }
Пример #18
0
 def password(self):
     user = User.where('remember_token', request().input('v')).first()
     if user:
         user.password = bcrypt_password(request().input('password'))
         user.save()
         return request().redirect_to('login')