usso 0.28.4__tar.gz → 0.28.5__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 (33) hide show
  1. {usso-0.28.4/src/usso.egg-info → usso-0.28.5}/PKG-INFO +1 -1
  2. {usso-0.28.4 → usso-0.28.5}/pyproject.toml +1 -1
  3. {usso-0.28.4 → usso-0.28.5}/src/usso/models/user.py +13 -7
  4. {usso-0.28.4 → usso-0.28.5}/src/usso/session/base_session.py +2 -2
  5. {usso-0.28.4 → usso-0.28.5/src/usso.egg-info}/PKG-INFO +1 -1
  6. {usso-0.28.4 → usso-0.28.5}/LICENSE.txt +0 -0
  7. {usso-0.28.4 → usso-0.28.5}/MANIFEST.in +0 -0
  8. {usso-0.28.4 → usso-0.28.5}/README.md +0 -0
  9. {usso-0.28.4 → usso-0.28.5}/pytest.ini +0 -0
  10. {usso-0.28.4 → usso-0.28.5}/setup.cfg +0 -0
  11. {usso-0.28.4 → usso-0.28.5}/src/usso/__init__.py +0 -0
  12. {usso-0.28.4 → usso-0.28.5}/src/usso/auth/__init__.py +0 -0
  13. {usso-0.28.4 → usso-0.28.5}/src/usso/auth/api_key.py +0 -0
  14. {usso-0.28.4 → usso-0.28.5}/src/usso/auth/client.py +0 -0
  15. {usso-0.28.4 → usso-0.28.5}/src/usso/auth/config.py +0 -0
  16. {usso-0.28.4 → usso-0.28.5}/src/usso/exceptions.py +0 -0
  17. {usso-0.28.4 → usso-0.28.5}/src/usso/integrations/django/__init__.py +0 -0
  18. {usso-0.28.4 → usso-0.28.5}/src/usso/integrations/django/middleware.py +0 -0
  19. {usso-0.28.4 → usso-0.28.5}/src/usso/integrations/fastapi/__init__.py +0 -0
  20. {usso-0.28.4 → usso-0.28.5}/src/usso/integrations/fastapi/dependency.py +0 -0
  21. {usso-0.28.4 → usso-0.28.5}/src/usso/integrations/fastapi/handler.py +0 -0
  22. {usso-0.28.4 → usso-0.28.5}/src/usso/session/__init__.py +0 -0
  23. {usso-0.28.4 → usso-0.28.5}/src/usso/session/async_session.py +0 -0
  24. {usso-0.28.4 → usso-0.28.5}/src/usso/session/session.py +0 -0
  25. {usso-0.28.4 → usso-0.28.5}/src/usso/utils/__init__.py +0 -0
  26. {usso-0.28.4 → usso-0.28.5}/src/usso/utils/method_utils.py +0 -0
  27. {usso-0.28.4 → usso-0.28.5}/src/usso/utils/string_utils.py +0 -0
  28. {usso-0.28.4 → usso-0.28.5}/src/usso.egg-info/SOURCES.txt +0 -0
  29. {usso-0.28.4 → usso-0.28.5}/src/usso.egg-info/dependency_links.txt +0 -0
  30. {usso-0.28.4 → usso-0.28.5}/src/usso.egg-info/entry_points.txt +0 -0
  31. {usso-0.28.4 → usso-0.28.5}/src/usso.egg-info/requires.txt +0 -0
  32. {usso-0.28.4 → usso-0.28.5}/src/usso.egg-info/top_level.txt +0 -0
  33. {usso-0.28.4 → usso-0.28.5}/tests/test_fastapi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: usso
3
- Version: 0.28.4
3
+ Version: 0.28.5
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.28.4"
7
+ version = "0.28.5"
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"
@@ -11,18 +11,21 @@ class TokenType(StrEnum):
11
11
  SECURE_TOKEN = "secure"
12
12
  ONE_TIME_TOKEN = "one_time"
13
13
  TEMPORARY_TOKEN = "temporary"
14
- MFA_TEMPORARY_TOKEN = "mfa_temporary"
15
14
 
16
15
 
17
16
  class UserData(BaseModel):
18
- jti: str | None = None
19
- token_type: TokenType | None = None
17
+ # JWT standard claims
20
18
  iss: str | None = None
19
+ sub: str | None = None
21
20
  aud: str | None = None
22
21
  iat: int | None = None
23
22
  nbf: int | None = None
24
23
  exp: int | None = None
25
- sub: str | None = None
24
+ jti: str | None = None
25
+
26
+ # Custom claims
27
+ token_type: TokenType | None = None
28
+ session_id: str | None = None
26
29
  tenant_id: str | None = None
27
30
  workspace_id: str | None = None
28
31
  roles: list[str] | None = None
@@ -35,14 +38,16 @@ class UserData(BaseModel):
35
38
  def __init__(
36
39
  self,
37
40
  *,
38
- jti: str | None = None,
39
- token_type: TokenType | None = None,
40
41
  iss: str | None = None,
42
+ sub: str | None = None,
41
43
  aud: str | None = None,
42
44
  iat: int | None = None,
43
45
  nbf: int | None = None,
44
46
  exp: int | None = None,
45
- sub: str | None = None,
47
+ jti: str | None = None,
48
+
49
+ token_type: TokenType | None = None,
50
+ session_id: str | None = None,
46
51
  tenant_id: str | None = None,
47
52
  workspace_id: str | None = None,
48
53
  roles: list[str] | None = None,
@@ -60,6 +65,7 @@ class UserData(BaseModel):
60
65
  nbf=nbf,
61
66
  exp=exp,
62
67
  sub=sub,
68
+ session_id=session_id,
63
69
  tenant_id=tenant_id,
64
70
  workspace_id=workspace_id,
65
71
  roles=roles,
@@ -67,10 +67,10 @@ class BaseUssoSession:
67
67
  def refresh_token(self):
68
68
  if (
69
69
  self._refresh_token
70
- and self._refresh_token.verify( # noqa: W503
70
+ and self._refresh_token.verify(
71
71
  expected_token_type="refresh",
72
72
  )
73
- and self._refresh_token.is_temporally_valid() # noqa: W503
73
+ and self._refresh_token.is_temporally_valid()
74
74
  ):
75
75
  self._refresh_token = None
76
76
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: usso
3
- Version: 0.28.4
3
+ Version: 0.28.5
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
File without changes