Ejemplo n.º 1
0
def identity(payload):
    '''
    identity method for JWT
    returns user_id from DB
    '''
    user_id = payload['identity']
    return UserModel.find_by_id(user_id)
Ejemplo n.º 2
0
def add_claims_to_jwt(identity):
    user = UserModel.find_by_id(identity)
    #print("Permiss: ",identity)
    if user.permiss == "admin":
        return {'is_admin': True}
    else:
        return {'is_admin': False}
Ejemplo n.º 3
0
 def post(self):
     jti = get_jwt()
     BLACKLIST.add(jti['jti'])
     user = UserModel.find_by_id(jti['sub'])
     user.status = "invisible"
     user.lastConnect = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
     user.update_to_db()
     #print(user.json())
     return {
         'status': 'success',
         'message': 'Successfully logged out.'
     }, 200
Ejemplo n.º 4
0
 def put(self, token):
     claim = get_jwt()
     #print(claim)
     user = UserModel.find_by_id(claim['sub'])
     #print(user.json())
     data = ResetPassword.parser.parse_args()
     if data['password'] != data['passwordConfirm']:
         return {'status': 'failed', "message": " Password not match"}, 400
     hashed = generate_password_hash(data['password'], method='sha256')
     setattr(user, 'password', hashed)
     user.update_to_db()
     access_token = create_access_token(identity=user.userId,
                                        fresh=True,
                                        expires_delta=timedelta(hours=3))
     refresh_token = create_refresh_token(user.userId)
     return {
         "status": "success",
         "data": {
             "access_token": access_token,
             "refresh_token": refresh_token
         }
     }, 200