Beispiel #1
0
 def func_wrapper(*args, **kwargs):
     try:
         content = request.get_json()
         if "device_token" in content and content[
                 "device_token"] != "" or "neo_device_token" in request.cookies:
             if "device_token" in content:
                 json_token = content["device_token"]
             else:
                 json_token = request.cookies.get("neo_device_token")
             res, data = Device.decode_auth_token_old(json_token)
             if res is True:
                 kwargs['device'] = data
                 return func(*args, **kwargs)
             else:
                 resp = jsonify({"success": False, "message": data})
                 resp.status_code = 401
                 return resp
         else:
             resp = jsonify({
                 "success":
                 False,
                 "message":
                 "Aucun jwt trouvé dans le contenu de la requete"
             })
             return resp
     except Exception as e:
         resp = jsonify({"success": False, "message": str(e)})
         resp.status_code = 500
         return resp
Beispiel #2
0
def get_device_from_header(request):
    token = request.headers.get('Authorization')
    if token is None or token == "":
        raise Exception("Authorization token not found")
    res, data = Device.decode_auth_token_old(token)
    if res is True:
        return data
    raise InvalidAuthentication(data)
Beispiel #3
0
 def func_wrapper(*args, **kwargs):
     token = None
     if "Authorization" in request.headers:
         try:
             user = get_user_from_header(request)
             kwargs["client"] = user
             kwargs["is_device"] = False
             return func(*args, **kwargs)
         except InvalidAuthentication:
             try:
                 device = get_device_from_header(request)
                 kwargs["client"] = device
                 kwargs["is_device"] = True
                 return func(*args, **kwargs)
             except InvalidAuthentication as ie:
                 resp = jsonify({"success": False, "message": str(ie)})
                 resp.status_code = 500
                 return resp
     if token is None or token == "":
         if "neo_user_token" in request.cookies:
             token = request.headers.get("neo_user_token")
             res, data = User.decode_auth_token_old(token)
             if res is True:
                 kwargs['client'] = data
                 kwargs["is_device"] = False
                 return func(*args, **kwargs)
             else:
                 resp = jsonify({"success": False, "message": data})
                 resp.status_code = 401
                 return resp
         if "neo_device_token" in request.cookies:
             token = request.headers.get("neo_device_token")
             res, data = Device.decode_auth_token_old(token)
             if res is True:
                 kwargs['client'] = data
                 kwargs["is_device"] = True
                 return func(*args, **kwargs)
             else:
                 resp = jsonify({"success": False, "message": data})
                 resp.status_code = 401
                 return resp
     resp = jsonify({"success": False, "message": "Token introuvable"})
     return resp
Beispiel #4
0
 def authenticate(self, jwt_token):
     try:
         if self.authenticated is True:
             return False, "Already authenticated"
         b, client = User.decode_auth_token_old(jwt_token)
         if not b:
             b, client = Device.decode_auth_token_old(jwt_token)
             if b:
                 self.is_device = True
         if not b or client is None:
             return False, 'User not found'
         if client.json_token != jwt_token:
             return False, 'Invalid token'
         self.token = jwt_token
         self.client_id = client.id
         client.update_content(is_online=True)
         self.authenticated = True
         return True, 'User authenticated'
     except Exception as e:
         return False, str(e)