dj-jwt-auth 1.5.12__py3-none-any.whl → 1.6.0__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.
- {dj_jwt_auth-1.5.12.dist-info → dj_jwt_auth-1.6.0.dist-info}/METADATA +5 -5
- {dj_jwt_auth-1.5.12.dist-info → dj_jwt_auth-1.6.0.dist-info}/RECORD +7 -7
- {dj_jwt_auth-1.5.12.dist-info → dj_jwt_auth-1.6.0.dist-info}/WHEEL +1 -1
- django_jwt/middleware.py +0 -3
- django_jwt/user.py +4 -4
- tests/test.py +2 -2
- {dj_jwt_auth-1.5.12.dist-info → dj_jwt_auth-1.6.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dj-jwt-auth
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0
|
|
4
4
|
Summary: A Django package for JSON Web Token validation and verification. Using PyJWT.
|
|
5
5
|
Home-page: https://www.example.com/
|
|
6
6
|
Author: Konstantin Seleznev
|
|
@@ -21,10 +21,10 @@ Classifier: Topic :: Internet :: WWW/HTTP
|
|
|
21
21
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
22
22
|
Requires-Python: >=3.8
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
|
-
Requires-Dist: Django
|
|
25
|
-
Requires-Dist: pyjwt
|
|
26
|
-
Requires-Dist: requests
|
|
27
|
-
Requires-Dist: cryptography
|
|
24
|
+
Requires-Dist: Django>=3.0
|
|
25
|
+
Requires-Dist: pyjwt>=2.5.0
|
|
26
|
+
Requires-Dist: requests>=2.28.1
|
|
27
|
+
Requires-Dist: cryptography>=36.0.2
|
|
28
28
|
|
|
29
29
|
# Django-JWT
|
|
30
30
|
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
django_jwt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
django_jwt/config.py,sha256=-9JkGjMXRVNmQYPvrEwaoJacu068nySNfjMyo5DtXcw,1550
|
|
3
3
|
django_jwt/exceptions.py,sha256=vFJcGOCSZvxJRbSeMgWgPUM9wcXu6CSHblpwMzhV-Ic,198
|
|
4
|
-
django_jwt/middleware.py,sha256=
|
|
4
|
+
django_jwt/middleware.py,sha256=LiIvjHPmYkojmF9D8XuSOBGLgAJHnY_T9nelj7RJLOs,1072
|
|
5
5
|
django_jwt/pkce.py,sha256=j-v2ffCw0X3JW7ak8vfNeSZI-dACOvHbi1eLmJ0R8gM,685
|
|
6
6
|
django_jwt/roles.py,sha256=SaHK3o8T8USS4ZhG4SrHPlZQV2lMb2t1UZHT6IQtBvA,143
|
|
7
7
|
django_jwt/settings.py,sha256=pXQ8WUU4LGBe6PQxCLTLM_2_b1CCSgehqim3yJDqZdw,1922
|
|
8
8
|
django_jwt/urls.py,sha256=ZhcnRcQ1MBRh-bS7fTa-Vkz8yuWUhv-G_uRXKLnKAs0,320
|
|
9
|
-
django_jwt/user.py,sha256=
|
|
9
|
+
django_jwt/user.py,sha256=leJyZbeY1gfZyIy10qypVDD-zuU3elUQD4w0ijWTYak,5771
|
|
10
10
|
django_jwt/utils.py,sha256=uIFw1JMldE_blC7YkaZbY7rpcawP2E6zsdLyuZRwJoA,1645
|
|
11
11
|
django_jwt/views.py,sha256=jQW3YrW-Oed54KqxjDMaBOQ-dxEnqTAcBEXlQSK-zCE,4231
|
|
12
12
|
django_jwt/templates/django-jwt-index.html,sha256=y8f0v2WbRAFxnIU799I_MZCVsjn1sbdh7bypjdWB0lA,1353
|
|
13
13
|
django_jwt/templates/admin/login.html,sha256=Nihyu0IGvDDZVvQDITXozwlj6XCQ0B8gqlyHLqVNyJc,275
|
|
14
14
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
tests/models.py,sha256=tJlhRARVGfFIH6Gp1o00buZKcY2oAk7HNw2PMnkTEDs,295
|
|
16
|
-
tests/test.py,sha256=
|
|
16
|
+
tests/test.py,sha256=782KtcjRTfbBi_va69bBmS1TWFa9ReBVj2wKfGr4Rvo,10199
|
|
17
17
|
tests/urls.py,sha256=D5FhDSVAudurkrpkCZZPnDvgXSgifwFVB3nAlYBg7uQ,212
|
|
18
|
-
dj_jwt_auth-1.
|
|
19
|
-
dj_jwt_auth-1.
|
|
20
|
-
dj_jwt_auth-1.
|
|
21
|
-
dj_jwt_auth-1.
|
|
18
|
+
dj_jwt_auth-1.6.0.dist-info/METADATA,sha256=Pjkw3ckU170djJ-OgthwLk_vLeW-9uAhzmy7MJbrh5c,4365
|
|
19
|
+
dj_jwt_auth-1.6.0.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
|
20
|
+
dj_jwt_auth-1.6.0.dist-info/top_level.txt,sha256=58O7TdK-yECZcbmPc52KNlBFpjIUlENuZubCxaSOxus,17
|
|
21
|
+
dj_jwt_auth-1.6.0.dist-info/RECORD,,
|
django_jwt/middleware.py
CHANGED
|
@@ -31,6 +31,3 @@ class JWTAuthMiddleware(MiddlewareMixin):
|
|
|
31
31
|
return JsonResponse(status=HTTPStatus.UNAUTHORIZED.value, data={"detail": "expired token"})
|
|
32
32
|
except UnicodeDecodeError as exc:
|
|
33
33
|
log.warning(f"UnicodeDecodeError: {exc}")
|
|
34
|
-
except Exception as exc:
|
|
35
|
-
log.error(f"Unexpected error: {exc}")
|
|
36
|
-
return
|
django_jwt/user.py
CHANGED
|
@@ -26,7 +26,7 @@ class UserHandler:
|
|
|
26
26
|
modified_at = None
|
|
27
27
|
|
|
28
28
|
def __init__(self, payload: dict, request: HttpRequest, access_token: str):
|
|
29
|
-
|
|
29
|
+
self.payload = payload
|
|
30
30
|
self.kwargs = settings.OIDC_USER_DEFAULTS.copy()
|
|
31
31
|
self.kwargs[settings.OIDC_USER_UID] = payload[settings.OIDC_TOKEN_USER_UID]
|
|
32
32
|
|
|
@@ -63,7 +63,7 @@ class UserHandler:
|
|
|
63
63
|
|
|
64
64
|
user = model.objects.create(**self.kwargs)
|
|
65
65
|
if self.on_create:
|
|
66
|
-
self.on_create(user, self.request)
|
|
66
|
+
self.on_create(user, self.request, self.payload)
|
|
67
67
|
return user
|
|
68
68
|
|
|
69
69
|
def _get_by_email(self) -> model:
|
|
@@ -72,7 +72,7 @@ class UserHandler:
|
|
|
72
72
|
user = model.objects.get(email=self.kwargs["email"])
|
|
73
73
|
self._update_user(user)
|
|
74
74
|
if self.on_update:
|
|
75
|
-
self.on_update(user, self.request)
|
|
75
|
+
self.on_update(user, self.request, self.payload)
|
|
76
76
|
return user
|
|
77
77
|
|
|
78
78
|
def _update_existing_user(self, user):
|
|
@@ -93,7 +93,7 @@ class UserHandler:
|
|
|
93
93
|
if self.modified_at and is_modified:
|
|
94
94
|
self._update_user(user)
|
|
95
95
|
if self.on_update:
|
|
96
|
-
self.on_update(user, self.request)
|
|
96
|
+
self.on_update(user, self.request, self.payload)
|
|
97
97
|
|
|
98
98
|
def get_user(self) -> model:
|
|
99
99
|
"""
|
tests/test.py
CHANGED
|
@@ -29,12 +29,12 @@ user_info_payload = {
|
|
|
29
29
|
User = get_user_model()
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
def _on_create(user, request):
|
|
32
|
+
def _on_create(user, request, token_data):
|
|
33
33
|
user.username = "on_create"
|
|
34
34
|
user.save()
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
def _on_update(user, request):
|
|
37
|
+
def _on_update(user, request, token_data):
|
|
38
38
|
user.username = "on_update"
|
|
39
39
|
user.save()
|
|
40
40
|
|
|
File without changes
|