def post(self): ''' { type: "", # two types: "username" and "email" value: "" # the value of username or email } ''' # if exists then return True and False otherwise data = tornado.escape.json_decode(self.request.body) field = data.get('type') value = data.get('value') if field == 'username': try: User.get(User.username == value) result = False except peewee.DoesNotExist: result = True elif field == 'email': try: User.get(User.email == value) result = False except peewee.DoesNotExist: result = True else: result = True self.write(dict(result=result))
def load_user(self, token): try: uid = jwt.decode(token, verify=False)['id'] user = yield User.get(uid) jwt.decode(token, user.secret) self.handler.user = user except NoObjectReturnedFromDB as norfdb: ite = jwt.InvalidTokenError( 'No user was found in the database for ' 'this token.') raise ite from norfdb
def load_user(self, token): try: uid = jwt.decode(token, verify=False)['id'] user = yield User.get(uid) jwt.decode(token, user.secret) self.handler.user = user except NoObjectReturnedFromDB as norfdb: ite = jwt.InvalidTokenError( 'No user was found in the database for ' 'this token.' ) raise ite from norfdb
def post(self): ''' { id: "username or email", password: "******" } ''' # return True if successfull otherwise False data = tornado.escape.json_decode(self.request.body) identifier = data.get('id') password = data.get('password') login = True try: user = User.get(((User.username == identifier) & (User.password == password)) | ((User.email == identifier) & (User.password == password))) now = datetime.datetime.now() credential = str(uuid.uuid4()) try: lc = LoginRecord.get( ((LoginRecord.username == user.username) & (LoginRecord.valid == True))) lc.valid = False lc.save() except peewee.DoesNotExist: pass finally: LoginRecord.create( username=user.username, login_date=now, credential=credential) self.set_cookie('uid', credential) except peewee.DoesNotExist: login = False if login: self.write(dict(result=login, username=user.username)) else: self.write(dict(result=login))