def login(self): form = Form(self.request, schema=forms.LoginSchema) came_from = self.request.params.get('came_from', self.request.route_url('home')) if 'form.submitted' in self.request.POST: if utils.authenticate_user(form, self.dbmaker): headers = remember(self.request, form.data['username']) self.request.session.flash(u'Logged in successfully.') return HTTPFound(location=came_from, headers=headers) self.request.session.flash(u'Failed to login.') return HTTPFound(location=came_from) return dict(username=self.username, came_from=came_from)
def login(self): came_from = self.request.params.get('came_from', self.request.route_url('home')) if 'form.submitted' in self.request.POST: if utils.authenticate_user(form, self.dbmaker): headers = remember(self.request, form.data['username']) self.request.session.flash(u'Logged in successfully.') return HTTPFound(location=came_from, headers=headers) self.request.session.flash(u'Failed to login.') return HTTPFound(location=came_from) return dict( username=self.username, came_from=came_from )
def verify(self): email = utils.verify_email(self.token, self.verification_key, self.verification_salt) if not email: self.request.session.flash(u'Unable to verify your email account') return HTTPFound(location=self.request.route_url('home')) if 'form.submitted' in self.request.POST: if not utils.authenticate_user(form, self.dbmaker): self.request.session.flash(u'Failed to verify your account credentials') return HTTPFound(location=self.request.route_url('home')) headers = remember(self.request, self.username) with utils.db_session(self.dbmaker) as session: user = session.query(User).filter(User.email==email).first() (pub, priv) = utils.keygen(user.name, user.email, form.data['password']) user.verified_at = time.time() session.add(user) self.request.session.flash(u'Account verified!') return HTTPFound(location=self.request.route_url('keys')) return dict( username=self.username, token=self.token )
def verify(self): form = Form(self.request, schema=forms.RegistrationSchema) # Me add email = utils.verify_email(self.token, self.verification_key, self.verification_salt) if not email: self.request.session.flash(u'Unable to verify your email account') return HTTPFound(location=self.request.route_url('home')) if 'form.submitted' in self.request.POST: if not utils.authenticate_user(form, self.dbmaker): self.request.session.flash( u'Failed to verify your account credentials') return HTTPFound(location=self.request.route_url('home')) headers = remember(self.request, self.username) with utils.db_session(self.dbmaker) as session: user = session.query(User).filter(User.email == email).first() (pub, priv) = utils.keygen(user.name, user.email, form.data['password']) user.verified_at = time.time() session.add(user) self.request.session.flash(u'Account verified!') return HTTPFound(location=self.request.route_url('keys')) return dict(username=self.username, token=self.token)
def test_authenticate_user_returns_false_when_user_doesnt_exist(self): post_data = dict(username='******', password='******') request = testing.DummyRequest(post=post_data) form = Form(request, schema=forms.LoginSchema) self.assertFalse(utils.authenticate_user(form, self.dbmaker))