usso 0.20.1__py3-none-any.whl → 0.20.3__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.
- usso/api.py +35 -43
- {usso-0.20.1.dist-info → usso-0.20.3.dist-info}/METADATA +1 -1
- {usso-0.20.1.dist-info → usso-0.20.3.dist-info}/RECORD +7 -7
- {usso-0.20.1.dist-info → usso-0.20.3.dist-info}/LICENSE.txt +0 -0
- {usso-0.20.1.dist-info → usso-0.20.3.dist-info}/WHEEL +0 -0
- {usso-0.20.1.dist-info → usso-0.20.3.dist-info}/entry_points.txt +0 -0
- {usso-0.20.1.dist-info → usso-0.20.3.dist-info}/top_level.txt +0 -0
usso/api.py
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
import logging
|
2
|
+
|
1
3
|
import requests
|
2
4
|
from singleton import Singleton
|
3
5
|
|
@@ -70,7 +72,12 @@ class UssoAPI(metaclass=Singleton):
|
|
70
72
|
json=data,
|
71
73
|
)
|
72
74
|
if kwargs.get("raise", True):
|
73
|
-
|
75
|
+
try:
|
76
|
+
resp.raise_for_status()
|
77
|
+
except requests.HTTPError as e:
|
78
|
+
logging.error(f"Error: {e}")
|
79
|
+
logging.error(f"Response: {resp.json()}")
|
80
|
+
raise e
|
74
81
|
return resp.json()
|
75
82
|
|
76
83
|
def get_users(self, **kwargs) -> list[UserData]:
|
@@ -81,51 +88,37 @@ class UssoAPI(metaclass=Singleton):
|
|
81
88
|
]
|
82
89
|
|
83
90
|
def get_user(self, user_id: str, **kwargs) -> UserData:
|
84
|
-
|
85
|
-
|
86
|
-
endpoint=f"website/users/{user_id}",
|
87
|
-
**kwargs,
|
88
|
-
)
|
89
|
-
)
|
90
|
-
|
91
|
-
def get_user_credentials(self, user_id: str, **kwargs) -> UserData:
|
92
|
-
return UserData(
|
93
|
-
**self._request(
|
94
|
-
endpoint=f"website/users/{user_id}/credentials",
|
95
|
-
**kwargs,
|
96
|
-
)
|
97
|
-
)
|
91
|
+
user_dict = self._request(endpoint=f"website/users/{user_id}", **kwargs)
|
92
|
+
return UserData(user_id=user_dict.get("uid"), **user_dict)
|
98
93
|
|
99
94
|
def get_user_by_credentials(self, credentials: dict, **kwargs) -> UserData:
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
**kwargs,
|
105
|
-
)
|
95
|
+
user_dict = self._request(
|
96
|
+
endpoint="website/users/credentials",
|
97
|
+
data=credentials,
|
98
|
+
**kwargs,
|
106
99
|
)
|
100
|
+
return UserData(user_id=user_dict.get("uid"), **user_dict)
|
107
101
|
|
108
102
|
def create_user(self, user_data: dict, **kwargs) -> UserData:
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
**kwargs,
|
115
|
-
)
|
103
|
+
user_dict = self._request(
|
104
|
+
method="post",
|
105
|
+
endpoint="website/users",
|
106
|
+
data=user_data,
|
107
|
+
**kwargs,
|
116
108
|
)
|
117
109
|
|
110
|
+
return UserData(user_id=user_dict.get("uid"), **user_dict)
|
111
|
+
|
118
112
|
def create_user_credentials(
|
119
113
|
self, user_id: str, credentials: dict, **kwargs
|
120
114
|
) -> UserData:
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
**kwargs,
|
127
|
-
)
|
115
|
+
user_dict = self._request(
|
116
|
+
method="post",
|
117
|
+
endpoint=f"website/users/{user_id}/credentials",
|
118
|
+
data=credentials,
|
119
|
+
**kwargs,
|
128
120
|
)
|
121
|
+
return UserData(user_id=user_dict.get("uid"), **user_dict)
|
129
122
|
|
130
123
|
def create_user_by_credentials(
|
131
124
|
self,
|
@@ -133,17 +126,16 @@ class UssoAPI(metaclass=Singleton):
|
|
133
126
|
credentials: dict | None = None,
|
134
127
|
**kwargs,
|
135
128
|
) -> UserData:
|
136
|
-
|
129
|
+
user_data = user_data or {}
|
137
130
|
if credentials:
|
138
131
|
user_data["authenticators"] = [credentials]
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
**kwargs,
|
145
|
-
)
|
132
|
+
user_dict = self._request(
|
133
|
+
method="post",
|
134
|
+
endpoint="website/users",
|
135
|
+
data=credentials,
|
136
|
+
**kwargs,
|
146
137
|
)
|
138
|
+
return UserData(user_id=user_dict.get("uid"), **user_dict)
|
147
139
|
|
148
140
|
def get_user_payload(self, user_id: str, **kwargs) -> dict:
|
149
141
|
return self._request(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: usso
|
3
|
-
Version: 0.20.
|
3
|
+
Version: 0.20.3
|
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>
|
@@ -1,14 +1,14 @@
|
|
1
1
|
usso/__init__.py,sha256=RN0E6HI9kHedvDxheDPVWiAmh-169IrhXfvq_sHphQc,65
|
2
|
-
usso/api.py,sha256=
|
2
|
+
usso/api.py,sha256=p7rR_rdBxanByj1r_JfWlcB_tuZ-6k4SZRF9NJTDcYw,4895
|
3
3
|
usso/b64tools.py,sha256=6YCBx2lLaYFdk36f064VNZ1RejJTHtmgxqq0eT1sCwQ,518
|
4
4
|
usso/core.py,sha256=JQbwx6u53epwurBeSPOA5JHccRCf-bsz-9oQrVBr2t0,3048
|
5
5
|
usso/exceptions.py,sha256=hawOAuVbvQtjgRfwp1KFZ4SmV7fh720y5Gom9JVA8W8,504
|
6
6
|
usso/package_data.dat,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
usso/fastapi/__init__.py,sha256=TRTDVJo8bwZQDAuCQFhh-g1XbIspf6TdFYXGAO5cgAU,130
|
8
8
|
usso/fastapi/integration.py,sha256=9Q10dfy8UagOkmG49-Ar0mj6PPsiKS8ioLFgBIREpWQ,1823
|
9
|
-
usso-0.20.
|
10
|
-
usso-0.20.
|
11
|
-
usso-0.20.
|
12
|
-
usso-0.20.
|
13
|
-
usso-0.20.
|
14
|
-
usso-0.20.
|
9
|
+
usso-0.20.3.dist-info/LICENSE.txt,sha256=ceC9ZJOV9H6CtQDcYmHOS46NA3dHJ_WD4J9blH513pc,1081
|
10
|
+
usso-0.20.3.dist-info/METADATA,sha256=qacCILZ-RkwmhVpkrrRpE0ZlX9Zp2smFf_eqj4OfLgQ,4334
|
11
|
+
usso-0.20.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
12
|
+
usso-0.20.3.dist-info/entry_points.txt,sha256=4Zgpm5ELaAWPf0jPGJFz1_X69H7un8ycT3WdGoJ0Vvk,35
|
13
|
+
usso-0.20.3.dist-info/top_level.txt,sha256=g9Jf6h1Oyidh0vPiFni7UHInTJjSvu6cUalpLTIvthg,5
|
14
|
+
usso-0.20.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|