django-restit 4.2.162__py3-none-any.whl → 4.2.163__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
account/rpc/auth.py CHANGED
@@ -3,7 +3,7 @@ from rest import crypto
3
3
  from rest.mail import render_to_mail
4
4
  from rest import views as rv
5
5
  # from rest.views import restStatus, restGet, restPermissionDenied
6
- from rest.jwtoken import JWToken, JWT_KEY
6
+ from rest.jwtoken import JWToken, JWT_KEY, JWT_EXPIRES, JWT_REFRESH_EXPIRES
7
7
  from rest import helpers
8
8
  from rest import settings
9
9
  from account import models as am
@@ -67,7 +67,13 @@ def on_complete_jwt(request, member):
67
67
  request, method="login", level=7)
68
68
 
69
69
  device_id = request.DATA.get(["device_id", "deviceID"])
70
- token = JWToken(user_id=member.pk, key=member.security_token, device_id=device_id)
70
+
71
+ token = JWToken(
72
+ user_id=member.pk,
73
+ key=member.security_token,
74
+ device_id=device_id,
75
+ access_expires_in=member.getProperty("jwt.expires_in", JWT_EXPIRES, field_type=int),
76
+ refresh_expires_in=member.getProperty("jwt.refresh_expires_in", JWT_REFRESH_EXPIRES, field_type=int))
71
77
 
72
78
  request.user = member.getUser()
73
79
  request.member = member
@@ -121,9 +127,10 @@ def jwt_refresh(request):
121
127
  if member.security_token is None:
122
128
  member.refreshSecurityToken()
123
129
  member.canLogin(request)
124
- token.refresh()
130
+ token.refresh(member.getProperty("jwt.expires_in", JWT_EXPIRES, field_type=int))
125
131
  request.jwt_token = token.access_token # this tells the middleware to store in cookie
126
132
  if JWT_UPDATE_REFRESH_TOKEN:
133
+ token.refresh_expires_in = member.getProperty("jwt.refresh_expires_in", JWT_REFRESH_EXPIRES, field_type=int)
127
134
  rtoken = token.refresh_token
128
135
  return rv.restGet(request, dict(access=token.access_token, refresh=rtoken))
129
136
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-restit
3
- Version: 4.2.162
3
+ Version: 4.2.163
4
4
  Summary: A Rest Framework for DJANGO
5
5
  License: MIT
6
6
  Author: Ian Starnes
@@ -42,7 +42,7 @@ account/passkeys/__init__.py,sha256=FwXYJXwSJXfkLojGBcVpF1dFpgFhzDdd9N_3naYQ0cc,
42
42
  account/passkeys/core.py,sha256=4aUBNCuF_kjOvE1zFapK1Pj28ap5slO71dRyfnWi0YU,4148
43
43
  account/periodic.py,sha256=-u0n-7QTJgDOkasGhBAPwHAwjpqWGA-MZLEFkVTqCGU,874
44
44
  account/rpc/__init__.py,sha256=SGF0M_-H0dKh3b1apSX29BotNWAvITYccGQVC0MIjL8,336
45
- account/rpc/auth.py,sha256=p62tyihWvSY2zn7eaVxKcCG9qLnnZBIkwdRH81sS5_Y,16615
45
+ account/rpc/auth.py,sha256=O-co_vZM9T4lsu3hidjKAeL2tTPWgbmoLsrjhmFZ7lA,17064
46
46
  account/rpc/device.py,sha256=lU2BHNPreHV0dDTjAPc7Sc-5m2JP8SiWVqiKuBfV7Fo,2281
47
47
  account/rpc/group.py,sha256=hw7iczZ6W_IrRbx5ZDw6cZ5I_ztqxhtUFJD9WR91_4s,4948
48
48
  account/rpc/member.py,sha256=8XnJX-iri0Om4nc-V2_tDJzfCSzziKLw6dUx9egtEZE,2236
@@ -378,7 +378,7 @@ pushit/utils.py,sha256=IeTCGa-164nmB1jIsK1lu1O1QzUhS3BKfuXHGjCW-ck,2121
378
378
  rest/.gitignore,sha256=TbEvWRMnAiajCTOdhiNrd9eeCAaIjRp9PRjE_VkMM5g,118
379
379
  rest/README.md,sha256=V3ETc-cJu8PZIbKr9xSe_pA4JEUpC8Dhw4bQeVCDJPw,5460
380
380
  rest/RemoteEvents.py,sha256=nL46U7AuxIrlw2JunphR1tsXyqi-ep_gD9CYGpYbNgE,72
381
- rest/__init__.py,sha256=gs3tWOnRiGM-kbQWwWRCVFDf9snftJR7ATb8MSxBVlg,122
381
+ rest/__init__.py,sha256=Nt-ARrrsZsC3MhlB1KngYyIlg503R8BDL8rspDoD3-U,122
382
382
  rest/arc4.py,sha256=y644IbF1ec--e4cUJ3KEYsewTCITK0gmlwa5mJruFC0,1967
383
383
  rest/cache.py,sha256=1Qg0rkaCJCaVP0-l5hZg2CIblTdeBSlj_0fP6vlKUpU,83
384
384
  rest/crypto/__init__.py,sha256=Tl0U11rgj1eBYqd6OXJ2_XSdNLumW_JkBZnaJqI6Ldw,72
@@ -396,7 +396,7 @@ rest/fields.py,sha256=_v1TJVc6vyWlqmwFRJ6mtuR5Fo-lS0KcUhPWIrzKZUo,9719
396
396
  rest/forms.py,sha256=66Wm5cdy8tKib_mGicjq_yd-gNVMFWRECnrDksnNnwU,6316
397
397
  rest/helpers.py,sha256=t7smlOUzchVno-zeq7xMJIwogAR2DeSrffWxgysOHX8,29531
398
398
  rest/joke.py,sha256=0PpKaX2iN7jlS62kgjfmmqkFBYLPURz15aQ8R7OJkJ8,260
399
- rest/jwtoken.py,sha256=6AIe9IpsOn44sodiV0OPYeTZZNhS8VRiakV-rOuCyGw,2444
399
+ rest/jwtoken.py,sha256=F7Vvpm31rAplTXr8XFP-Lb4BnDB3j1B2nQq0P1iTCLQ,2576
400
400
  rest/log.py,sha256=hd1_4HBOS395sfXJIL6BTw9yekm1SLgBwYx_PdfIhKA,20930
401
401
  rest/mail.py,sha256=Rm40hWDYop0tMqxdN-J2NT-dCnP-f4SfCZxSO02ajzs,7965
402
402
  rest/mailman.py,sha256=v5O1G5s3HiAKmz-J1z0uT6_q3xsONPpxVl9saEyQQ2I,9174
@@ -413,7 +413,7 @@ rest/middleware/session_store.py,sha256=1nSdeXK8PyuYgGgIufqrS6j6QpIrQ7zbMNT0ol75
413
413
  rest/models/__init__.py,sha256=M8pvFDq-WCF-QcM58X7pMufYYe0aaQ3U0PwGe9TKbbY,130
414
414
  rest/models/base.py,sha256=eOvVDwHgKDdBJAnaK2xavGfkjkfpk5Oqy1KfKRjtu6o,72072
415
415
  rest/models/cacher.py,sha256=eKz8TINVhWEqKhJGMsRkKZTtBUIv5rN3NHbZwOC56Uk,578
416
- rest/models/metadata.py,sha256=1nQ7CYo9bJHoaXE_hVNaj1-Y7yqhHlf2ZlaD1IfTzic,12904
416
+ rest/models/metadata.py,sha256=ni8-BRF07lv4CdPUWnUdfPTOClQAVEeRZvO-ic623HU,12904
417
417
  rest/net.py,sha256=LcB2QV6VNRtsSdmiQvYZgwQUDwOPMn_VBdRiZ6OpI-I,2974
418
418
  rest/regexes.yaml,sha256=VoGb4E-P_K9f82Yzcpltgzekpt9usRtwu9PYlo46nUw,149463
419
419
  rest/requestex.py,sha256=N56056vV3zWkAP-QrYsCu7SdpPzE5kLuPoxGIuZAKt0,16127
@@ -514,7 +514,7 @@ ws4redis/servers/uwsgi.py,sha256=VyhoCI1DnVFqBiJYHoxqn5Idlf6uJPHvfBKgkjs34mo,172
514
514
  ws4redis/settings.py,sha256=KKq00EwoGnz1yLwCZr5Dfoq2izivmAdsNEEM4EhZwN4,1610
515
515
  ws4redis/utf8validator.py,sha256=S0OlfjeGRP75aO6CzZsF4oTjRQAgR17OWE9rgZdMBZA,5122
516
516
  ws4redis/websocket.py,sha256=R0TUyPsoVRD7Y_oU7w2I6NL4fPwiz5Vl94-fUkZgLHA,14848
517
- django_restit-4.2.162.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
518
- django_restit-4.2.162.dist-info/METADATA,sha256=MQ_UxhG_bHrSeQUVNVePLomjKFSubS_L1OF1sh_9kq0,7663
519
- django_restit-4.2.162.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
520
- django_restit-4.2.162.dist-info/RECORD,,
517
+ django_restit-4.2.163.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
518
+ django_restit-4.2.163.dist-info/METADATA,sha256=JJ41qj2ZvwUoUmELr-Bbz-Wo1RIqLKBhsR46q2sw49o,7663
519
+ django_restit-4.2.163.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
520
+ django_restit-4.2.163.dist-info/RECORD,,
rest/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  from .uberdict import UberDict # noqa: F401
2
2
  from .settings_helper import settings # noqa: F401
3
3
 
4
- __version__ = "4.2.162"
4
+ __version__ = "4.2.163"
rest/jwtoken.py CHANGED
@@ -4,7 +4,8 @@ import time
4
4
  import uuid
5
5
  from rest import settings
6
6
 
7
-
7
+ JWT_EXP_6_HOURS = 21600
8
+ JWT_EXP_12_HOURS = 43200
8
9
  JWT_EXP_1_DAY = 86400
9
10
  JWT_EXP_2_DAY = 172800
10
11
  JWT_EXP_7_DAY = 604800
@@ -58,10 +59,12 @@ class JWToken():
58
59
  return False
59
60
  return self.payload.exp > time.time()
60
61
 
61
- def refresh(self):
62
+ def refresh(self, expires_in=None):
62
63
  self.payload["token_type"] = "access"
63
64
  self.payload["iat"] = int(time.time())
64
- self.payload["exp"] = int(time.time()) + self.access_expires_in
65
+ if expires_in is None:
66
+ expires_in = self.access_expires_in
67
+ self.payload["exp"] = int(time.time()) + expires_in
65
68
 
66
69
  @property
67
70
  def access_token(self):
rest/models/metadata.py CHANGED
@@ -1,4 +1,3 @@
1
- from datetime import datetime, date
2
1
  from objict import objict
3
2
  from django.db import models as dm
4
3
  import string
@@ -6,6 +5,7 @@ import string
6
5
  from rest import helpers as rh
7
6
  from rest import errors as re
8
7
  from rest.encryption import ENCRYPTER, DECRYPTER
8
+ from datetime import datetime, date
9
9
 
10
10
 
11
11
  class MetaDataBase(dm.Model):