sharedkernel 2.5.9__py3-none-any.whl → 2.6.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sharedkernel/config.py CHANGED
@@ -1,5 +1,7 @@
1
1
  import os
2
2
 
3
+ VERBOSE = True if os.getenv("VERBOSE", "False").lower() == "true" else False
4
+
3
5
  # Log *******************************************************************************
4
6
  LOG_ENABLE = True if os.getenv("LOG_ENABLE", "False").lower() == "true" else False
5
7
  RABBITMQ_USER = os.getenv("RABBITMQ_USER")
@@ -65,50 +65,88 @@ class IPSessionAuth:
65
65
  def ip_session_auth(self, request: Request):
66
66
 
67
67
  if not config.IP_SESSION_AUTH_ENABLE:
68
+ if config.VERBOSE:
69
+ print("IP_SESSION_AUTH | OK | IP Session Auth is disabled")
68
70
  return
69
71
 
72
+ if config.VERBOSE:
73
+ print("IP_SESSION_AUTH | INFO | Request Headers: ", request.headers)
74
+
70
75
  api_key = request.headers.get(config.APIKEY_HEADER_NAME)
71
76
 
72
77
  if api_key:
78
+ if config.VERBOSE:
79
+ print("IP_SESSION_AUTH | OK | API Key is provided")
73
80
  return
74
81
 
75
82
  state = getattr(request.state, "decoded_token", None)
83
+ if config.VERBOSE:
84
+ print("IP_SESSION_AUTH | INFO | State: ", state)
85
+
76
86
  if not state:
87
+ if config.VERBOSE:
88
+ print("IP_SESSION_AUTH | ERROR | No state found")
77
89
  raise UnAuthorizedException()
78
90
 
79
91
  nameid = state.get("nameid")
80
92
  sessionid = state.get("sessionId")
93
+ if config.VERBOSE:
94
+ print("IP_SESSION_AUTH | INFO | Nameid: ", nameid)
95
+ print("IP_SESSION_AUTH | INFO | Sessionid: ", sessionid)
81
96
 
82
97
  if not nameid or not sessionid:
98
+ if config.VERBOSE:
99
+ print("IP_SESSION_AUTH | ERROR | No nameid or sessionid found")
83
100
  raise UnAuthorizedException()
84
101
 
85
102
  request_ip = request.headers.get(config.IP_HEADER_NAME)
103
+
86
104
  if not request_ip:
105
+ if config.VERBOSE:
106
+ print("IP_SESSION_AUTH | ERROR | No request ip found")
87
107
  raise UnAuthorizedException()
88
108
 
89
109
  request_ip = request_ip.strip()
110
+ if config.VERBOSE:
111
+ print("IP_SESSION_AUTH | INFO | Request ip: ", request_ip)
90
112
 
91
113
  if self._is_ip_allowed(request_ip):
114
+ if config.VERBOSE:
115
+ print("IP_SESSION_AUTH | OK | IP is in whitelist")
92
116
  return
93
117
 
94
118
  redis_key = f"userId:{nameid}:session:{sessionid}"
95
119
  user_data = self.redis.get(redis_key)
120
+ if config.VERBOSE:
121
+ print("IP_SESSION_AUTH | INFO | User data: ", user_data)
96
122
 
97
123
  if not user_data:
124
+ if config.VERBOSE:
125
+ print("IP_SESSION_AUTH | ERROR | No user data found")
98
126
  raise UnAuthorizedException()
99
127
 
100
128
  try:
101
129
  payload = json.loads(user_data.decode())
102
130
  except (ValueError, UnicodeDecodeError, TypeError):
131
+ if config.VERBOSE:
132
+ print("IP_SESSION_AUTH | ERROR | Error decoding user data")
103
133
  raise UnAuthorizedException()
104
134
 
105
135
  stored_ip = payload.get("Ip")
106
-
136
+ if config.VERBOSE:
137
+ print("IP_SESSION_AUTH | INFO | Stored ip: ", stored_ip)
138
+
107
139
  if not stored_ip:
140
+ if config.VERBOSE:
141
+ print("IP_SESSION_AUTH | ERROR | No stored ip found")
108
142
  raise UnAuthorizedException()
109
143
 
110
144
  if stored_ip.strip() != request_ip:
145
+ if config.VERBOSE:
146
+ print("IP_SESSION_AUTH | ERROR | Stored ip does not match request ip")
111
147
  raise UnAuthorizedException()
112
148
 
113
149
  lifetime_minutes = self._get_lifetime()
114
- self.redis.expire(redis_key, lifetime_minutes * 60)
150
+ self.redis.expire(redis_key, lifetime_minutes * 60)
151
+ if config.VERBOSE:
152
+ print("IP_SESSION_AUTH | OK | IP session auth successful")
@@ -18,12 +18,17 @@ class JWTBearer(HTTPBearer):
18
18
  async def __call__(self, request: Request):
19
19
  try:
20
20
  if current_user_info.get(None):
21
- return
22
-
23
- credentials: HTTPAuthorizationCredentials = await super(
24
- JWTBearer, self
25
- ).__call__(request)
26
- decoded_token = self.verify(credentials.credentials)
21
+ return
22
+
23
+ token = request.cookies.get("token")
24
+ if not token:
25
+ credentials: HTTPAuthorizationCredentials = await super(
26
+ JWTBearer, self
27
+ ).__call__(request)
28
+
29
+ token = credentials.credentials
30
+
31
+ decoded_token = self.verify(token=token)
27
32
  request.state.decoded_token = decoded_token
28
33
 
29
34
  nameid = decoded_token.get("nameid") or decoded_token.get("id")
@@ -92,6 +92,8 @@ class LoggerService:
92
92
 
93
93
 
94
94
  def emit(self, log: LogDTO):
95
+ # if config.VERBOSE:
96
+ # print("LOGGER | INFO | Emitting log:\n", log)
95
97
  self.publish(log)
96
98
 
97
99
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharedkernel
3
- Version: 2.5.9
3
+ Version: 2.6.2
4
4
  Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
@@ -21,7 +21,6 @@ Requires-Dist: beautifulsoup4
21
21
  Requires-Dist: deepdiff
22
22
  Requires-Dist: kombu
23
23
  Requires-Dist: redis
24
- Requires-Dist: pymongo
25
24
  Dynamic: author
26
25
  Dynamic: description
27
26
  Dynamic: description-content-type
@@ -32,6 +31,12 @@ Dynamic: summary
32
31
  this is a shared kernel package
33
32
 
34
33
  # Change Log
34
+ ### Version 2.6.2
35
+ - Add Verbose
36
+ ### Version 2.6.1
37
+ - hotfix namings
38
+ ### Version 2.6.0
39
+ - add cookie validation to jwt service
35
40
  ### Version 2.5.9
36
41
  - Fix bug
37
42
  ### Version 2.5.8
@@ -1,11 +1,11 @@
1
1
  sharedkernel/common.py,sha256=HL5vsuJBaIeBcoXA8Hbe6jnYAv4danIszo5Y7G2gGDA,622
2
- sharedkernel/config.py,sha256=ynpH3zmpWa8fPjcjqJ25dpc6Ohp3yzHKsKzST1ilH0w,1808
2
+ sharedkernel/config.py,sha256=kiRDUipAHTWI-F0IN3NghgU6GlM9MNVybApNonm8wWo,1888
3
3
  sharedkernel/data_format_converter.py,sha256=GWGbfhKJBifkz-cfnqKAFjJM43WC0qdq9KSELj3xR30,3774
4
4
  sharedkernel/date_converter.py,sha256=Cjd4ewm0pIfQzv7nlgAAB_EYrr-VvXxQGehJCNphgXc,4491
5
5
  sharedkernel/diff_utils.py,sha256=mtwJmc05GAXUOB0ZLtqAhfBT1kGoSQ7qmP5N44P73ho,2564
6
6
  sharedkernel/file_validation.py,sha256=X-vdUy1Se2li3f-_Ro5UJi_Muqz-QmkKu6b5eHs-eiA,2892
7
- sharedkernel/ip_session_service.py,sha256=omdMSfuu7LVKZlujZnWoPBgebNhrSl2_gsoiV2VpEfU,3387
8
- sharedkernel/jwt_service.py,sha256=xjHPhxk63ajGZmIfBgjgB_M-bt2SamSYwBGgS9DvQNg,1760
7
+ sharedkernel/ip_session_service.py,sha256=Oru8qUhdHeAgaRkLoCrsWO-_TP17PQ2yMDn8x8cHEaA,5224
8
+ sharedkernel/jwt_service.py,sha256=QNkGLn1ZzU5gBD0Cjyadtqu_zHnS3_A2y-CDZSrc4Q8,1872
9
9
  sharedkernel/multipart_upload.py,sha256=JVlCBlznB9dWh2_spjAqzLOqQT1CHUTvrR4m7ug8qaM,1877
10
10
  sharedkernel/regex_masking.py,sha256=zQrgteP8Cuq1EC9B7QUJqAXUxK9ISD9kWMYK2AbRfw0,3288
11
11
  sharedkernel/s3_uploader.py,sha256=VWgN-RVHmLXMDuxgZux3M-iFwWk5zhRnUIECKS0auW4,3637
@@ -29,7 +29,7 @@ sharedkernel/logger/log_dto.py,sha256=GN0nfZMTMJN4hXM47M_Wkkr1Fgm4kVgWfgQWNZfuUe
29
29
  sharedkernel/logger/log_enums.py,sha256=b6RCy6oLx-uUQANQVoEq3yxMld0m4Gtq5pTDos78vL8,209
30
30
  sharedkernel/logger/log_info.py,sha256=bGv8QBTNB-4EfJf-cYuuAU2c_d1PNt_7R15vc3y-fJk,141
31
31
  sharedkernel/logger/log_middlewares.py,sha256=fjqti-K1u5dJkrbU02jTtRK__N7vEUot5N5DbAUZ-XY,1014
32
- sharedkernel/logger/logger_service.py,sha256=6dMPWEvLa4poEO7ZJo00e88hsEpDEvkj5E0u6iiQOUU,6490
32
+ sharedkernel/logger/logger_service.py,sha256=KXvA3ql7s_uyY7QHs-CtGqodIrMplPVYV1RcHcFe9k8,6581
33
33
  sharedkernel/normalizer/__init__.py,sha256=cDmbquAW6o7rnvv3XkI7h5vMYp-3NmGN6zp1ryYOUcc,154
34
34
  sharedkernel/normalizer/number_normalizer.py,sha256=zJ700T0t9P7hgxp7vox98LdPw9A4jsUjIHA_II9YmqU,286
35
35
  sharedkernel/normalizer/phone_number_normalizer.py,sha256=8z-JGWvH45GiOkceMz9jZ4gLoW9X120I1JSzCAGWcvU,19268
@@ -40,7 +40,7 @@ sharedkernel/objects/json_string_model.py,sha256=j63tnoqiok0EmBP6T-ChYuQYKPw7mLq
40
40
  sharedkernel/objects/jwt_model.py,sha256=XQHQhTbg7PT8XiUh5fd9MwRH4ldPsesI_hfbjaSqdKg,134
41
41
  sharedkernel/objects/result.py,sha256=I_9hX5TPEO1oStzuFLjFh1rtimXorz7ml-OaW_2BMvc,680
42
42
  sharedkernel/objects/user_info.py,sha256=51WyspRxlIWzK7Lfxgqg4D6mylXeHe9ZSenf-RhYTdA,286
43
- sharedkernel-2.5.9.dist-info/METADATA,sha256=QdwvZft8H4u2FyXHgWBWWPXAewuqYjMyg36DopagDY8,3851
44
- sharedkernel-2.5.9.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
45
- sharedkernel-2.5.9.dist-info/top_level.txt,sha256=TVTOnV1MItSSlpSjqkiijuHkoVsGHS4CArpsM-lylkE,13
46
- sharedkernel-2.5.9.dist-info/RECORD,,
43
+ sharedkernel-2.6.2.dist-info/METADATA,sha256=FPMlxY5-ML4oob4T7-238cIRQoU37Ca1uHUbFo2NPjk,3952
44
+ sharedkernel-2.6.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
45
+ sharedkernel-2.6.2.dist-info/top_level.txt,sha256=TVTOnV1MItSSlpSjqkiijuHkoVsGHS4CArpsM-lylkE,13
46
+ sharedkernel-2.6.2.dist-info/RECORD,,