usso 0.24.16__tar.gz → 0.24.18__tar.gz

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.
Files changed (28) hide show
  1. {usso-0.24.16/src/usso.egg-info → usso-0.24.18}/PKG-INFO +1 -1
  2. {usso-0.24.16 → usso-0.24.18}/pyproject.toml +1 -1
  3. {usso-0.24.16 → usso-0.24.18}/src/usso/async_session.py +5 -0
  4. {usso-0.24.16 → usso-0.24.18}/src/usso/session.py +4 -0
  5. {usso-0.24.16 → usso-0.24.18/src/usso.egg-info}/PKG-INFO +1 -1
  6. {usso-0.24.16 → usso-0.24.18}/LICENSE.txt +0 -0
  7. {usso-0.24.16 → usso-0.24.18}/README.md +0 -0
  8. {usso-0.24.16 → usso-0.24.18}/setup.cfg +0 -0
  9. {usso-0.24.16 → usso-0.24.18}/src/usso/__init__.py +0 -0
  10. {usso-0.24.16 → usso-0.24.18}/src/usso/api.py +0 -0
  11. {usso-0.24.16 → usso-0.24.18}/src/usso/async_api.py +0 -0
  12. {usso-0.24.16 → usso-0.24.18}/src/usso/b64tools.py +0 -0
  13. {usso-0.24.16 → usso-0.24.18}/src/usso/core.py +0 -0
  14. {usso-0.24.16 → usso-0.24.18}/src/usso/django/__init__.py +0 -0
  15. {usso-0.24.16 → usso-0.24.18}/src/usso/django/middleware.py +0 -0
  16. {usso-0.24.16 → usso-0.24.18}/src/usso/exceptions.py +0 -0
  17. {usso-0.24.16 → usso-0.24.18}/src/usso/fastapi/__init__.py +0 -0
  18. {usso-0.24.16 → usso-0.24.18}/src/usso/fastapi/auth_middleware.py +0 -0
  19. {usso-0.24.16 → usso-0.24.18}/src/usso/fastapi/integration.py +0 -0
  20. {usso-0.24.16 → usso-0.24.18}/src/usso/package_data.dat +0 -0
  21. {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/SOURCES.txt +0 -0
  22. {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/dependency_links.txt +0 -0
  23. {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/entry_points.txt +0 -0
  24. {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/requires.txt +0 -0
  25. {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/top_level.txt +0 -0
  26. {usso-0.24.16 → usso-0.24.18}/tests/test_api.py +0 -0
  27. {usso-0.24.16 → usso-0.24.18}/tests/test_core.py +0 -0
  28. {usso-0.24.16 → usso-0.24.18}/tests/test_simple.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: usso
3
- Version: 0.24.16
3
+ Version: 0.24.18
4
4
  Summary: A plug-and-play client for integrating universal single sign-on (SSO) with Python frameworks, enabling secure and seamless authentication across microservices.
5
5
  Author-email: Mahdi Kiani <mahdikiany@gmail.com>
6
6
  Maintainer-email: Mahdi Kiani <mahdikiany@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "usso"
7
- version = "0.24.16"
7
+ version = "0.24.18"
8
8
  description = "A plug-and-play client for integrating universal single sign-on (SSO) with Python frameworks, enabling secure and seamless authentication across microservices."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -2,6 +2,7 @@ from contextlib import asynccontextmanager
2
2
  from datetime import datetime, timedelta
3
3
 
4
4
  import aiohttp
5
+ from fastapi import params
5
6
  import jwt
6
7
 
7
8
 
@@ -11,12 +12,14 @@ class AsyncUssoSession:
11
12
  sso_refresh_url: str,
12
13
  refresh_token: str | None = None,
13
14
  api_key: str | None = None,
15
+ user_id: str | None = None,
14
16
  ):
15
17
  self.sso_refresh_url = sso_refresh_url
16
18
  self._refresh_token = refresh_token
17
19
  self.access_token = None
18
20
  self.session = None # This will hold the aiohttp session
19
21
  self.api_key = api_key
22
+ self.user_id = user_id
20
23
 
21
24
  @property
22
25
  def refresh_token(self):
@@ -34,10 +37,12 @@ class AsyncUssoSession:
34
37
  return self._refresh_token
35
38
 
36
39
  async def _refresh_api(self):
40
+ params = {"user_id": self.user_id} if self.user_id else {}
37
41
  async with aiohttp.ClientSession() as session:
38
42
  async with session.get(
39
43
  f"{self.sso_refresh_url}/api",
40
44
  headers={"x-api-key": self.api_key},
45
+ params=params,
41
46
  ) as response:
42
47
  response.raise_for_status()
43
48
  data: dict = await response.json()
@@ -11,12 +11,14 @@ class UssoSession:
11
11
  sso_refresh_url: str,
12
12
  refresh_token: str | None = None,
13
13
  api_key: str | None = None,
14
+ user_id: str | None = None,
14
15
  ):
15
16
  self.sso_refresh_url = sso_refresh_url
16
17
  self._refresh_token = refresh_token
17
18
  self.session = requests.Session()
18
19
  self.access_token = None
19
20
  self.api_key = api_key
21
+ self.user_id = user_id
20
22
 
21
23
  @property
22
24
  def refresh_token(self):
@@ -34,9 +36,11 @@ class UssoSession:
34
36
  return self._refresh_token
35
37
 
36
38
  def _refresh_api(self):
39
+ params = {"user_id": self.user_id} if self.user_id else {}
37
40
  response = requests.get(
38
41
  f"{self.sso_refresh_url}/api",
39
42
  headers={"x-api-key": self.api_key},
43
+ params=params,
40
44
  )
41
45
  response.raise_for_status()
42
46
  data = response.json()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: usso
3
- Version: 0.24.16
3
+ Version: 0.24.18
4
4
  Summary: A plug-and-play client for integrating universal single sign-on (SSO) with Python frameworks, enabling secure and seamless authentication across microservices.
5
5
  Author-email: Mahdi Kiani <mahdikiany@gmail.com>
6
6
  Maintainer-email: Mahdi Kiani <mahdikiany@gmail.com>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes