Beispiel #1
0
 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))
Beispiel #2
0
    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
Beispiel #4
0
 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))