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.
- {usso-0.24.16/src/usso.egg-info → usso-0.24.18}/PKG-INFO +1 -1
- {usso-0.24.16 → usso-0.24.18}/pyproject.toml +1 -1
- {usso-0.24.16 → usso-0.24.18}/src/usso/async_session.py +5 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/session.py +4 -0
- {usso-0.24.16 → usso-0.24.18/src/usso.egg-info}/PKG-INFO +1 -1
- {usso-0.24.16 → usso-0.24.18}/LICENSE.txt +0 -0
- {usso-0.24.16 → usso-0.24.18}/README.md +0 -0
- {usso-0.24.16 → usso-0.24.18}/setup.cfg +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/__init__.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/api.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/async_api.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/b64tools.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/core.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/django/__init__.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/django/middleware.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/exceptions.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/fastapi/__init__.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/fastapi/auth_middleware.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/fastapi/integration.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso/package_data.dat +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/SOURCES.txt +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/dependency_links.txt +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/entry_points.txt +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/requires.txt +0 -0
- {usso-0.24.16 → usso-0.24.18}/src/usso.egg-info/top_level.txt +0 -0
- {usso-0.24.16 → usso-0.24.18}/tests/test_api.py +0 -0
- {usso-0.24.16 → usso-0.24.18}/tests/test_core.py +0 -0
- {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.
|
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.
|
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.
|
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
|
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
|