sharedkernel 2.2.4__py3-none-any.whl → 2.2.6__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.
@@ -6,14 +6,18 @@ from sharedkernel.exception.exception import UnAuthorizedException
6
6
  from sharedkernel.objects import JwtModel
7
7
  from sharedkernel.objects.user_info import current_user_info, UserInfo
8
8
 
9
+
9
10
  class JWTBearer(HTTPBearer):
10
11
 
11
- def __init__(self,jwt_config:JwtModel, auto_error: bool = True):
12
- self.jwt_config=jwt_config
12
+ def __init__(self, jwt_config: JwtModel, auto_error: bool = True):
13
+ self.jwt_config = jwt_config
13
14
  super(JWTBearer, self).__init__(auto_error=auto_error)
14
15
 
15
16
  async def __call__(self, request: Request):
16
17
  try:
18
+ if current_user_info.get(None):
19
+ return
20
+
17
21
  credentials: HTTPAuthorizationCredentials = await super(
18
22
  JWTBearer, self
19
23
  ).__call__(request)
@@ -22,26 +26,23 @@ class JWTBearer(HTTPBearer):
22
26
 
23
27
  nameid = decoded_token.get("nameid") or decoded_token.get("id")
24
28
 
25
- user_info = UserInfo(
26
- nameid=nameid, email=decoded_token.get("email"), unique_name=decoded_token.get("unique_name")
27
- )
29
+ user_info = UserInfo(nameid=nameid, role=decoded_token.get("role"))
28
30
 
29
31
  current_user_info.set(user_info)
30
32
 
31
33
  except:
32
- raise UnAuthorizedException()
33
-
34
+ raise UnAuthorizedException()
34
35
 
35
36
  def verify(self, token: str) -> dict:
36
- decoded_token = jwt.decode(
37
- jwt= token.replace("Bearer","").strip(),
38
- key= self.jwt_config.secret_key,
39
- algorithms= self.jwt_config.algorithms,
40
- audience= self.jwt_config.audience,
41
- issuer= self.jwt_config.issuer
42
- )
43
-
44
- if decoded_token["exp"] < time.time():
45
- raise UnAuthorizedException()
46
-
47
- return decoded_token
37
+ decoded_token = jwt.decode(
38
+ jwt=token.replace("Bearer", "").strip(),
39
+ key=self.jwt_config.secret_key,
40
+ algorithms=self.jwt_config.algorithms,
41
+ audience=self.jwt_config.audience,
42
+ issuer=self.jwt_config.issuer,
43
+ )
44
+
45
+ if decoded_token["exp"] < time.time():
46
+ raise UnAuthorizedException()
47
+
48
+ return decoded_token
@@ -4,10 +4,9 @@ from contextvars import ContextVar
4
4
 
5
5
  class UserInfo(BaseModel):
6
6
  nameid: str
7
- unique_name: str | None = None
8
- email: str | None = None
9
7
  role: str | None = None
10
-
8
+ org_token: str | None = None
9
+ org_user_id: str | None = None
11
10
 
12
11
  current_user_info: ContextVar[UserInfo] = ContextVar("current_user_info")
13
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharedkernel
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
@@ -29,6 +29,10 @@ Dynamic: summary
29
29
  this is a shared kernel package
30
30
 
31
31
  # Change Log
32
+ ### Version 2.2.6
33
+ - implement api key
34
+ ### Version 2.2.5
35
+ - add org_token to user_info Object
32
36
  ### Version 2.2.4
33
37
  - make pagination response default values to None
34
38
  ### Version 2.2.3
@@ -2,7 +2,7 @@ sharedkernel/common.py,sha256=HL5vsuJBaIeBcoXA8Hbe6jnYAv4danIszo5Y7G2gGDA,622
2
2
  sharedkernel/data_format_converter.py,sha256=GWGbfhKJBifkz-cfnqKAFjJM43WC0qdq9KSELj3xR30,3774
3
3
  sharedkernel/date_converter.py,sha256=Cjd4ewm0pIfQzv7nlgAAB_EYrr-VvXxQGehJCNphgXc,4491
4
4
  sharedkernel/diff_utils.py,sha256=mtwJmc05GAXUOB0ZLtqAhfBT1kGoSQ7qmP5N44P73ho,2564
5
- sharedkernel/jwt_service.py,sha256=uEyOEWS5Y7eFIyGMu9fjRWdLEOcJtG-iL8Lk3QB5QYs,1666
5
+ sharedkernel/jwt_service.py,sha256=KSkrpXVqmKMGdaoDg0DqhOfzR9CIGVTg7HfOlAaz1Zo,1611
6
6
  sharedkernel/regex_masking.py,sha256=zQrgteP8Cuq1EC9B7QUJqAXUxK9ISD9kWMYK2AbRfw0,3288
7
7
  sharedkernel/s3_uploader.py,sha256=9Tzi5siceHPKab244tOAmnY_hNOeTn9yvsQevNdz7Gk,3313
8
8
  sharedkernel/string_extentions.py,sha256=ld02W06gd0Ql80GQU6nlqPAeUSfOe2Yr8cCzf3lJgQY,98
@@ -26,8 +26,8 @@ sharedkernel/objects/base_document.py,sha256=TERbRaZaW_zExm7Ddpk_3nCwMvSroGC3Kkd
26
26
  sharedkernel/objects/json_string_model.py,sha256=j63tnoqiok0EmBP6T-ChYuQYKPw7mLqUOHuaCDUZkmw,1333
27
27
  sharedkernel/objects/jwt_model.py,sha256=XQHQhTbg7PT8XiUh5fd9MwRH4ldPsesI_hfbjaSqdKg,134
28
28
  sharedkernel/objects/result.py,sha256=I_9hX5TPEO1oStzuFLjFh1rtimXorz7ml-OaW_2BMvc,680
29
- sharedkernel/objects/user_info.py,sha256=RsOExvd--7CvBibOA-7ZLLmoW3_rh9Hb3tTkH5K3DN8,283
30
- sharedkernel-2.2.4.dist-info/METADATA,sha256=H-OMA5mee_Fslj09AN3aOuJ5WTEJ3TOydQiIdPiMAmQ,3138
31
- sharedkernel-2.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
32
- sharedkernel-2.2.4.dist-info/top_level.txt,sha256=TVTOnV1MItSSlpSjqkiijuHkoVsGHS4CArpsM-lylkE,13
33
- sharedkernel-2.2.4.dist-info/RECORD,,
29
+ sharedkernel/objects/user_info.py,sha256=51WyspRxlIWzK7Lfxgqg4D6mylXeHe9ZSenf-RhYTdA,286
30
+ sharedkernel-2.2.6.dist-info/METADATA,sha256=PnmhL6-MWa8qXSRjiaMlkF-uI6sXyUpXtj3Kxz1nc1w,3230
31
+ sharedkernel-2.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
32
+ sharedkernel-2.2.6.dist-info/top_level.txt,sha256=TVTOnV1MItSSlpSjqkiijuHkoVsGHS4CArpsM-lylkE,13
33
+ sharedkernel-2.2.6.dist-info/RECORD,,