dj-jwt-auth 1.9.0__tar.gz → 1.9.2__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. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/PKG-INFO +1 -1
  2. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/dj_jwt_auth.egg-info/PKG-INFO +1 -1
  3. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/utils.py +2 -2
  4. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/views.py +8 -4
  5. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/setup.cfg +1 -1
  6. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/MANIFEST.in +0 -0
  7. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/README.md +0 -0
  8. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/dj_jwt_auth.egg-info/SOURCES.txt +0 -0
  9. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/dj_jwt_auth.egg-info/dependency_links.txt +0 -0
  10. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/dj_jwt_auth.egg-info/requires.txt +0 -0
  11. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/dj_jwt_auth.egg-info/top_level.txt +0 -0
  12. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/__init__.py +0 -0
  13. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/config.py +0 -0
  14. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/exceptions.py +0 -0
  15. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/middleware.py +0 -0
  16. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/pkce.py +0 -0
  17. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/roles.py +0 -0
  18. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/settings.py +0 -0
  19. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/templates/admin/login.html +0 -0
  20. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/templates/django-jwt-index.html +0 -0
  21. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/urls.py +0 -0
  22. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/django_jwt/user.py +0 -0
  23. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/pyproject.toml +0 -0
  24. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/setup.py +0 -0
  25. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/tests/__init__.py +0 -0
  26. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/tests/models.py +0 -0
  27. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/tests/test.py +0 -0
  28. {dj_jwt_auth-1.9.0 → dj_jwt_auth-1.9.2}/tests/urls.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dj-jwt-auth
3
- Version: 1.9.0
3
+ Version: 1.9.2
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dj-jwt-auth
3
- Version: 1.9.0
3
+ Version: 1.9.2
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
@@ -19,11 +19,11 @@ def get_alg(token: str) -> str:
19
19
  return header["alg"]
20
20
 
21
21
 
22
- def get_access_token(code: str, redirect_uri: str, pkce_secret: str) -> str:
22
+ def get_access_token(code: str, redirect_uri: str, pkce_secret: str, client_id: str) -> str:
23
23
  token_endpoint = config.admin().get("token_endpoint")
24
24
  data = {
25
25
  "grant_type": "authorization_code",
26
- "client_id": settings.OIDC_ADMIN_CLIENT_ID,
26
+ "client_id": client_id,
27
27
  "code": code,
28
28
  "redirect_uri": redirect_uri,
29
29
  "code_verifier": pkce_secret,
@@ -43,13 +43,14 @@ class InitiateView(View):
43
43
  callback_view_name = "receive_redirect_view"
44
44
  client_id = None
45
45
  scope = "openid"
46
+ params = {}
46
47
 
47
48
  def get(self, request):
48
49
  pkce_secret = PKCESecret()
49
50
  redirect_uri = request.build_absolute_uri(reverse(self.callback_view_name))
50
51
  authorization_endpoint = config.admin().get("authorization_endpoint")
51
52
  state = base64.urlsafe_b64encode(get_random_string().encode()).decode()
52
- params = {
53
+ self.params = {
53
54
  "client_id": self.client_id,
54
55
  "redirect_uri": redirect_uri,
55
56
  "response_type": "code",
@@ -61,12 +62,13 @@ class InitiateView(View):
61
62
  "nonce": get_random_string(),
62
63
  }
63
64
  cache.set(state, str(pkce_secret), timeout=600)
64
- log.info(f"OIDC Initiate: {authorization_endpoint}?{urlencode(params)}")
65
- return redirect(f"{authorization_endpoint}?{urlencode(params)}")
65
+ log.info(f"OIDC Initiate: {authorization_endpoint}?{urlencode(self.params)}")
66
+ return redirect(f"{authorization_endpoint}?{urlencode(self.params)}")
66
67
 
67
68
 
68
69
  class CallbackView(View):
69
70
  callback_view_name = "receive_redirect_view"
71
+ client_id = None
70
72
  user = None
71
73
  payload = None
72
74
 
@@ -82,7 +84,7 @@ class CallbackView(View):
82
84
 
83
85
  redirect_uri = request.build_absolute_uri(self.callback_view_name)
84
86
  if state := cache.get(state):
85
- token = get_access_token(code, redirect_uri, state)
87
+ token = get_access_token(code, redirect_uri, state, self.client_id)
86
88
  self.payload = oidc_handler.decode_token(token)
87
89
  self.user = UserHandler(self.payload, request, token).get_user()
88
90
  return super().dispatch(request, *args, **kwargs)
@@ -95,6 +97,8 @@ class StartOIDCAuthView(InitiateView):
95
97
 
96
98
 
97
99
  class ReceiveRedirectView(CallbackView):
100
+ client_id = jwt_settings.OIDC_ADMIN_CLIENT_ID
101
+
98
102
  def dispatch(self, request, *args, **kwargs):
99
103
  try:
100
104
  return super().dispatch(request, *args, **kwargs)
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = dj-jwt-auth
3
- version = 1.9.0
3
+ version = 1.9.2
4
4
  description = A Django package for JSON Web Token validation and verification. Using PyJWT.
5
5
  long_description = file: README.md
6
6
  url = https://www.example.com/
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes